Guide

PHP Mailer

Dal sito https://github.com/Synchro/PHPMailer è possibile scaricare una classe php completamente gratuita che emula i metodi e le caratteristiche dell'oggetto AspEmail di Persits Software.

L'installazione è piuttosto semplice, poiché è sufficiente copiare le classi class.phpmailer.php e class.smtp.php nel proprio spazio ed includerle nello script che le userà.

Esempi di utilizzo della classe PHPMailer

  • Esempio: Invio di un messaggio in formato testo
    <?
    include("class.phpmailer.php");
    $mittente = "server@nomedominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@nomedominio.it";
    $ServerSMTP = "smtp.nomedominio.it";  //server SMTP 
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    	."Cordiali Saluti,\nServizio Clienti";
    
    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host  = $ServerSMTP;
    $messaggio->From   = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario); 
    $messaggio->Body = $corpo_messaggio;
    if(!$messaggio->Send()) {
    	echo "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    	echo "messaggio inviato correttamente";
    }
    ?>

    [Torna su]

  • Esempio: Invio di un messaggio HTML
    <?
    include("class.phpmailer.php");
    $mittente = "server@nomedominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@nomedominio.it";
    $ServerSMTP = "smtp.nomedominio.it";  //server SMTP 
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    	."Cordiali Saluti,\nServizio Clienti";
    
    $messaggio = new PHPMailer;
    //messaggio in HTML
    $messaggio->IsHTML(true);
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host  = $ServerSMTP;
    $messaggio->From   = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario); 
    $messaggio->Body = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
    	Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <HTML><body>".$corpo_messaggio."</body></html>";
    $messaggio->AltBody = $corpo_messaggio;
    if(!$messaggio->Send()) {
    	echo "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    	echo "messaggio inviato correttamente";
    }
    ?>

    [Torna su]

  • Esempio: Invio di un messaggio con allegati
    <?
    include("class.phpmailer.php");
    $mittente = "server@nomedominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@nomedominio.it";
    $ServerSMTP = "smtp.nomedominio.it";  //server SMTP 
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    	."Cordiali Saluti,\nServizio Clienti";
    
    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host  = $ServerSMTP;
    $messaggio->From   = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario); 
    $messaggio->Body = $corpo_messaggio;
    
    $messaggio->AddAttachment("/allegati/moduloiscrizione.pdf");      // attach
    $messaggio->AddAttachment("/allegati/istruzioni.pdf"); // attach
    
    if(!$messaggio->Send()) {
    	echo "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    	echo "messaggio inviato correttamente";
    }
    ?>

    [Torna su]

  • Esempio: Invio di un messaggio con SMTP autenticato o dedicato

    Quando l'invio dei messaggi viene effettuato utilizzando un server SMTP autenticato o dedicato, è necessario che siano presenti nel codice alcune informazioni indispensabili per autorizzare l'invio attraverso tale server.

    Server SMTP Autenticato
    In questo caso, il server SMTP autenticato è
    smtphostauth.interhost.it
    Tale server è disponibile per tutti i siti web ospitati da Hosting Solutions, ma non può essere usato per invii massivi di email.
    Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server autenticato Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Le credenziali sono ottenibili collegandosi al pannello di controllo e selezionando l'icona 'Configurazione Posta Hosting'.

    <?
    include("class.phpmailer.php");
    $mittente = "server@nomedominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@nomedominio.it";
    $ServerSMTP = "smtphostauth.interhost.it";  //server SMTP autenticato Hosting Solutions
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    	."Cordiali Saluti,\nServizio Clienti";
    
    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPAuth   = true;     // abilita autenticazione SMTP
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host  = $ServerSMTP;
    $messaggio->Username   = "mio_utente";      // utente server SMTP autenticato
    $messaggio->Password   = "mia_password";    // password server SMTP autenticato
    
    $messaggio->From   = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario); 
    $messaggio->Body = $corpo_messaggio;
    if(!$messaggio->Send()) {
    	echo "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    	echo "messaggio inviato correttamente";
    }
    ?>

    Server SMTP Dedicato

    In questo caso, il server SMTP dedicato è del tipo

    smtp.nomedominio.it/.com/.eu etc.

    è ordinabile come servizio aggiuntivo ed è disponibile anche da IP che non appartengono a Hosting Solutions.
    Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server dedicato Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Tali credenziali sono state assegnate al momento della sottoscrizione del servizio.

    <?
    include("class.phpmailer.php");
    $mittente = "server@nomedominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@nomedominio.it";
    $ServerSMTP = "smtp.nomedominio.it";  //esempio di server SMTP dedicato 
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    	."Cordiali Saluti,\nServizio Clienti";
    
    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPAuth   = true;     // abilita autenticazione SMTP
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host  = $ServerSMTP;
    $messaggio->Username   = "mio_utente";      // utente server SMTP dedicato
    $messaggio->Password   = "mia_password";    // password server SMTP dedicato
    
    $messaggio->From   = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario); 
    $messaggio->Body = $corpo_messaggio;
    if(!$messaggio->Send()) {
    	echo "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    	echo "messaggio inviato correttamente";
    }
    ?>

    [Torna su]