Come inviare un'e -mail utilizzando PHP

Come inviare un'e -mail utilizzando PHP

Per qualsiasi sito Web, l'invio di un'e -mail di PHP Script è un requisito molto comune. Ad esempio, se il sito Web contiene un'opzione di registrazione per l'utente, è necessaria un'e -mail di conferma per inviare all'utente la verifica della posta elettronica. È possibile inviare e -mail utilizzando PHP utilizzando il PHP funzione mail () o qualsiasi libreria PHP. Due librerie PHP principalmente utilizzate per l'invio di e -mail sono Phpmailer e Swiftmailer. Il modo di inviare un'e -mail utilizzando il funzione mail () è stato discusso in un altro tutorial. Gli usi del Phpmailer La biblioteca per inviare e -mail in PHP è stata dimostrata in questo tutorial.

Invio di un'e -mail tramite Phpmailer:

Phpmailer è una libreria di classe molto utile che contiene una raccolta di funzioni per inviare e -mail utilizzando PHP. È possibile inviare e -mail in vari modi dal server locale utilizzando questa libreria. Esegui il seguente comando da installare Phpmailer Nel sistema operativo di Ubuntu:

$ sudo apt-get installa libphp-phpmailer

Prerequisiti:

È necessario disporre di un account Gmail per utilizzare la struttura di invio e -mail di Phpmailer. Dopo l'installazione Phpmailer, devi abilitare l'opzione "Consenti app meno sicure"Del tuo account Gmail.

Diversi esempi di invio di e -mail utilizzando Phpmailer:

Ecco i seguenti usi del Phpmailer Biblioteca per inviare e -mail in diversi modi:

Esempio 1: Invio di e -mail di testo

Il seguente script mostra il modo di inviare una semplice email utilizzando Phpmailer. Questo script assegna quattro parti essenziali di qualsiasi e -mail (da, a, soggetto, corpo). Setfrom e AddAddress I metodi vengono utilizzati per impostare gli indirizzi e -mail del mittente e del ricevitore. Soggetto e corpo Le proprietà vengono utilizzate per impostare l'oggetto e il corpo dell'email. Se l'e -mail viene inviata correttamente, il messaggio di successo verrà stampato e se l'e -mail non viene inviata, il messaggio di errore verrà stampato.

Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta l'indirizzo e -mail del ricevitore
$ email-> addAddress ("[email protected] ");
// Imposta l'argomento
$ email-> soggetto = "test email";
// Imposta il contenuto e -mail
$ email-> body = "ciao! Utilizzare PHPMailer per inviare e -mail utilizzando PHP ";
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Produzione:

Verrà visualizzato il seguente output se l'e -mail è stata inviata correttamente:


Se si controlla l'indirizzo e -mail del ricevitore, verrà visualizzato il seguente output simile:

Esempio 2: Invio di e -mail formattata HTML

È possibile inviare e -mail formattata HTML utilizzando Phpmailer. Devi usare ishtml () con VERO Valore parametro per l'invio di e -mail formattata HTML. Qui, un altro metodo Altbody () viene utilizzato per l'invio di contenuti e -mail come testo normale se l'utente non è in grado di ricevere l'e -mail con contenuto HTML.

Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
$ email-> ishtml (true);
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta l'indirizzo e -mail del ricevitore
$ email-> addAddress ("[email protected] ");
$ email-> soggetto = 'messaggio inviato da phpmailer';
$ email-> body = '

Ciao!

Sto usando phpmailer per inviare e -mail

';
$ email-> altbody = 'Questo messaggio è generato da un testo semplice!';
$ email-> ishtml (true);
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Produzione:

Se si controlla l'indirizzo e -mail del ricevitore, verrà visualizzato il seguente output formattato HTML:

Esempio 3: invio di un'e -mail allegnando un file locale

Molti metodi sono disponibili in Phpmailer Classe da inviare contenuti allegati con l'e -mail. Aggiungi allegato() Il metodo è uno di questi utilizzato nel seguente script. Questo metodo ha un parametro obbligatorio e tre parametri opzionali.

AddAttachment ($ Path, $ Nome, $ codifica, $ type); Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
$ email-> ishtml (true);
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta l'indirizzo e -mail del ricevitore
$ email-> addAddress ("[email protected] ");
$ email-> addAddress ('[email protected] ');
$ email-> soggetto = 'messaggio inviato da phpmailer';
$ email-> body = 'ciao! Utilizzare PHPMailer per inviare e -mail utilizzando PHP ';
$ email-> addattachment ('frutti.TXT');
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Produzione:

Quando si controlla l'indirizzo e -mail del ricevitore, verrà visualizzato il file allegato se il file è allegato correttamente all'e -mail come mostrato di seguito:

Esempio 4: invio di un'e -mail allegato un file remoto

Se si desidera allegare il contenuto da una posizione remota, è possibile utilizzare il addStringAttachment () Metodo a questo scopo. Questo metodo ha due parametri. Il primo parametro viene utilizzato per ottenere contenuti da una particolare posizione URL e il secondo parametro viene utilizzato per impostare il nome del file allegato.

AddStringAttachment (file_get_contents ($ URL), 'fileName.PDF');

Nel seguente script, l'indirizzo URL di un file di immagine è stato impostato nel primo parametro e "il mio file.jpg"È stato impostato nel secondo parametro di questo metodo per impostare il nome del file allegato.

Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
$ email-> ishtml (true);
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta l'indirizzo e -mail del ricevitore
$ email-> addAddress ("[email protected] ");
$ email-> addAddress ('[email protected] ');
$ email-> soggetto = 'messaggio inviato da phpmailer';
$ email-> body = 'ciao! Utilizzare PHPMailer per inviare e -mail utilizzando PHP ';
$ email-> addStringAttachment (file_get_contents ('http: // localhost/phpcode/fiore.jpg '),' myfile.jpg ');
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Produzione:

Quando si controlla l'indirizzo e -mail del ricevitore, verrà visualizzato il file allegato se il file è allegato correttamente all'e -mail come mostrato di seguito:

Esempio 5: Invio di e -mail con un messaggio di debug

La proprietà SMTPDEBUG della classe PHPMailer viene utilizzata per abilitare l'opzione di debug prima di inviare l'e -mail. Dopo aver eseguito lo script, il valore di questa proprietà è stato impostato su 1 in questo script per visualizzare il messaggio di debug.

Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// Abilita l'output del debug
$ email-> Smtpdebug = 1;
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta l'indirizzo e -mail del ricevitore
$ email-> addAddress ("[email protected] ");
// Imposta l'argomento
$ email-> soggetto = "test email";
// Imposta il contenuto e -mail
$ email-> body = "ciao! Utilizzare PHPMailer per inviare e -mail utilizzando PHP ";
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Esempio 6: inviare un'e -mail a più indirizzi

Il modo di inviare un'e -mail a più indirizzi e -mail utilizzando Phpmailer è stato mostrato nel seguente script. IL Addcc () e addBcc () I metodi di questa classe sono stati utilizzati per inviare un'e -mail a più ricevitori alla volta.

Richiedi '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Richiedi '/usr/share/php/libphp-phpmailer/src/SMTP.php ';
// Dichiara l'oggetto di Phpmailer
$ email = new PhpMailer \ phpmailer \ phpmailer ();
// impostare la configurazione necessaria per inviare e -mail
$ email-> issmtp ();
$ email-> Smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "SMTP.gmail.com ";
$ email-> port = 465;
// Imposta l'indirizzo Gmail che verrà utilizzato per l'invio di e -mail
$ email-> username = "[email protected] ";
// Imposta la password valida per l'indirizzo Gmail
$ email-> password = "password";
// Imposta l'indirizzo e -mail mittente
$ email-> setfrom ("[email protected] ");
// Imposta gli indirizzi email del ricevitore
$ email-> addAddress ('[email protected] ',' jafar iqbal ');
$ email-> addAddress ('[email protected] ');
$ email-> addreplyto ('[email protected] ');
$ email-> addcc ('[email protected] ');
$ email-> addbcc ('[email protected] ');
// Imposta l'argomento
$ email-> soggetto = "test email";
// Imposta il contenuto e -mail
$ email-> body = "ciao! Utilizzare PHPMailer per inviare e -mail utilizzando PHP ";
Se(!$ email-> Send ())
Echo "Errore:" . $ email-> errorinfo;
altro
eco "L'e -mail è stata inviata.";

?>

Produzione:

Se controlli l'indirizzo e -mail del ricevitore, verranno visualizzate le seguenti informazioni:

Conclusione:

La maggior parte delle opzioni di invio e -mail utilizzando la libreria Phpmailer sono state discusse in questo tutorial. Inoltre, sono stati forniti diversi esempi per aiutare gli utenti PHP a imparare facilmente il processo di invio di e -mail utilizzando questa libreria in modi diversi. Speriamo che tu abbia trovato questo articolo utile. Controlla gli altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.