I cookie permettono il funzionamento di alcuni servizi di questo blog. Utilizzando questi servizi, accetti l'utilizzo dei cookie da parte nostra. Ok Rifiuta

Come inviare una mail in PHP con un proprio server SMTP

A volte è necessario inviare una mail in PHP, per esempio, per inviare una mail di conferma di registrazione o di conferma ordine per un e-commerce. Per realizzare questa funzione in PHP abbiamo a disposizione un'ottima libreria di cui abbiamo già parlato in questo articolo. In questo caso però la libreria va personalizzata con i parametri del nostro server custom. Vediamo come si fa.

 Innanzitutto importiamo nel codice della nostra pagina la libreria phpMailer scaricandola da qui:

include("class.phpmailer.php");

Ora impostiamo il codice PHP per inviare la mail tramite il nostro server SMTP di Google (in questo caso, ma voi metterete i parametri del vostro server SMTP) in questo modo:

function inviomail($email, $oggetto, $messaggio, $path_allegato){

    if(validate_email($email)){ // validate_email è una funzione che controlla la correttezza della mail
        //invia la mail
        $mail = new PHPMailer();
        $mail->IsSMTP(); // Utilizzo della classe SMTP al posto del comando php mail()
        $mail->SMTPAuth = true; // Autenticazione SMTP
        $mail->Host = "smtp.gmail.com";
        $mail->Port = 465;
        $mail->SMTPSecure = 'ssl';
        $mail->Username = "servercustom.noreply@gmail.com"; // Nome utente SMTP autenticato
        $mail->Password = "password"; // Password account email con SMTP autenticato
        $mail->Priority    = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
        $mail->From     = "servercustom.noreply@gmail.com";
        $mail->FromName = "E-mail di prova - server custom";
        $mail->AddAddress($email);
        $mail->IsHTML(true);
        $mail->Subject  =  $oggetto;
        $mail->Body     =  $messaggio;
        $mail->AltBody  =  "";
        $mail->AddAttachment($path_allegato); 
        if(!$mail->Send()){
                echo "errore nell'invio della mail: ".$mail->ErrorInfo;
                return false;
        }else{
                return true;
        }
    }else{
        echo "La mail non è stata inviata a causa dell'indirizzo errato o un problema di connessione!";
    }
}

Con questo semplice codice riusciremo a inviare l'email in modo pulito ed efficente all'indirizzo destinatario.

I più letti

Seguici su Facebook

Seguici su Google+

Renzo Cappelli

miafoto

Sono un appassionato di informatica, mi dedico allo sviluppo web e alla gestione dei sistemi web-based: realizzo siti e progetto software gestionale per privati e aziende. Ho tanta passione per tutto quello che riguarda il web e le nuove tecnologie, lavoro bene in team e collaboro con aziende e professionisti di settore.

Commenti

NON CI SONO ANCORA COMMENTI.

Lascia il tuo commento