Come usare SMTP auth in PHP

Per utilizzare SMTP Authentication (SMTP AUTH) in PHP, puoi sfruttare la libreria PHPMailer, che semplifica l’invio di email tramite SMTP con autenticazione. Di seguito trovi un esempio base su come configurare l’autenticazione SMTP in PHP.


(Tophost) l' hosting web più economico - Usa il coupon sconto: 7NSS5HAGD5UC2

Sei un webmaster? Cerchi alternative a Google Adsense per il tuo sito? Prova TheMoneytizer per il tuo sito
Usa il codice 189ed7ca010140fc2065b06e3802bcd5 per ricevere 5 € dopo l'iscrizione

Passaggi per configurare SMTP AUTH con PHPMailer

  1. Installare PHPMailer

    Se non hai ancora PHPMailer, puoi installarlo tramite Composer (il gestore di pacchetti per PHP):

    composer require phpmailer/phpmailer
    

    Oppure puoi scaricare la libreria manualmente dal sito ufficiale di PHPMailer.

  2. Configurare il codice PHP per l’invio delle email

    Ecco un esempio di come configurare e inviare un’email utilizzando l’autenticazione SMTP in PHP con PHPMailer:

    <?php
    // Includi il file di autoload di Composer
    require 'vendor/autoload.php';
    
    // Crea una nuova istanza di PHPMailer
    $mail = new PHPMailer\PHPMailer\PHPMailer();
    
    try {
        // Impostazioni di SMTP
        $mail->isSMTP();                                   // Imposta il mailer per usare SMTP
        $mail->Host = 'smtp.tuoserver.com';                 // Imposta il server SMTP (es. smtp.gmail.com per Gmail)
        $mail->SMTPAuth = true;                             // Abilita l'autenticazione SMTP
        $mail->Username = '[email protected]';    // Username per il login
        $mail->Password = 'tuapassword';                    // Password per il login
        $mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS; // Crittografia TLS
        $mail->Port = 587;                                  // Porta da utilizzare (587 per TLS)
    
        // Impostazioni dell'email
        $mail->setFrom('[email protected]', 'Tuo Nome');   // Mittente
        $mail->addAddress('[email protected]', 'Nome Destinatario');  // Destinatario
        $mail->Subject = 'Oggetto dell\'email';              // Oggetto dell'email
        $mail->Body    = 'Contenuto dell\'email';            // Corpo dell'email
    
        // Invio dell'email
        if ($mail->send()) {
            echo 'Email inviata con successo!';
        } else {
            echo 'Errore nell\'invio dell\'email: ' . $mail->ErrorInfo;
        }
    
    } catch (Exception $e) {
        echo "Errore durante il processo di invio: {$mail->ErrorInfo}";
    }
    ?>
    

Spiegazione del codice:

  • $mail->isSMTP(): Configura PHPMailer per usare SMTP.
  • $mail->Host: L’indirizzo del server SMTP. Ad esempio, per Gmail è smtp.gmail.com, ma dovrai utilizzare quello fornito dal tuo provider.
  • $mail->SMTPAuth: Abilita l’autenticazione SMTP. Impostato a true.
  • $mail->Username e $mail->Password: Le credenziali del tuo account email (nome utente e password).
  • $mail->SMTPSecure: Configura il tipo di crittografia da usare. In questo caso, si utilizza STARTTLS, che è molto comune.
  • $mail->Port: La porta utilizzata per il server SMTP (587 è quella standard per TLS).
  • $mail->setFrom(): Indica l’indirizzo del mittente.
  • $mail->addAddress(): Aggiunge un destinatario all’email.
  • $mail->send(): Invia l’email.

Possibili errori comuni:

  • Errore di connessione SMTP: Assicurati che il server SMTP sia configurato correttamente e che non ci siano problemi di rete o firewall.
  • Credenziali errate: Verifica che l’username e la password siano corretti.
  • Limiti di invio: Se stai usando un provider come Gmail, potresti essere soggetto a limitazioni, come il blocco temporaneo dell’account per attività sospette.

Note aggiuntive:

  • Se stai usando Gmail, potresti dover abilitare l’accesso per app meno sicure nelle impostazioni dell’account Google (oppure usare OAuth 2.0 per una sicurezza migliorata).
  • Assicurati di usare una porta e una crittografia compatibile con il tuo provider SMTP. La porta 587 con TLS è abbastanza comune.
Sei un webmaster? Cerchi alternative a Google Adsense per il tuo sito? Prova TheMoneytizer per il tuo sito
Usa il codice 189ed7ca010140fc2065b06e3802bcd5 per ricevere 5 € dopo l'iscrizione

In questo modo, puoi gestire l’invio di email sicuro tramite SMTP con PHP e PHPMailer.

👇 Contenuti da non perdere 👇



Questo portale esiste da 4760 giorni (13 anni), e contiene ad oggi 4107 articoli (circa 3.285.600 parole in tutto) e 24 servizi online gratuiti. – Leggi un altro articolo a caso

Numero di visualizzazioni (dal 21 agosto 2024): 0