Utilizzo della funzione Mail in PHP su Ubuntu

Utilizzo della funzione Mail in PHP su Ubuntu

La funzione Mail () è una funzione PHP integrata che viene utilizzata per inviare e-mail da LocalHost. Ma alcune configurazioni sono necessarie per inviare e -mail utilizzando questa funzione. Avrai bisogno delle informazioni sul server della posta reale per l'impostazione della configurazione. È possibile utilizzare le informazioni sul server di posta del server di hosting attivo oppure è possibile utilizzare eventuali informazioni gratuite sul server di posta. Un account Gmail e le informazioni sul server SMTP di Gmail sono utilizzate in questo tutorial per inviare e -mail utilizzando la funzione Mail ().

Configurazione di configurazione

Saranno richiesti due file per modificare per impostare la configurazione: il PHP.ini è necessario un altro file per configurare per impostare il server di posta. Seguire i passaggi mostrati di seguito per impostare la configurazione. Molti pacchetti sono disponibili in PHP per l'invio di un'e -mail. msmtp è un client PHP Mail Server che viene utilizzato in questo tutorial per inviare e -mail utilizzando la funzione PHP Mail ().

Passi:

Eseguire il comando seguente per installare il msmtp Pacchetto su Ubuntu per impostare il server di posta:

$ sudo apt-get Installa msmtp

Crea un file di configurazione con il nome denominato /etc /msmtprc con il seguente comando:

$ sudo nano /etc /msmtprc

Aggiungi i seguenti contenuti al file. Aggiungi l'indirizzo e -mail valido per il utente e la password valida per il parola d'ordine che verrà utilizzato per inviare un'e -mail. Imposta l'indirizzo e -mail del mittente per modulo valore.

predefiniti
tls on
tls_starttls on
TLS_TRUST_FILE/ETC/SSL/CERTS/CA-certificati.Crt
Predefinito dell'account
host SMTP.gmail.com
Porta 587
AUTH ON
Nome utente [email protected]
password user_password
da sender_email_address

Esegui i seguenti comandi per impostare la proprietà e l'autorizzazione per /etc/msmtprc file:

$ sudo chown fahmida /etc /msmtprc
$ sudo chmod 0600 /etc /msmtprc

Apri il PHP.ini file e modifica i seguenti contenuti con i seguenti valori:

SMTP = SMTP.gmail.com
SMTP_PORT = 587
sendmail_path = "/usr/bin/msmtp -t -i"

Sintassi:

bool mail (stringa $ to, string $ soggetto, stringa $ message [, misto $ aggiuntivo_headers [, string $ aggiuntivo_parameters]])

Questa funzione può richiedere quattro argomenti. Il primo argomento prende l'indirizzo email del ricevitore. Il secondo argomento prende l'oggetto dell'email. Il terzo argomento prende il corpo e -mail. L'ultimo argomento è facoltativo e contiene ulteriori informazioni sull'e -mail come stringa o array.

Invio di e -mail utilizzando la funzione Mail ()

Diversi esempi di invio di un'e -mail utilizzando la funzione Mail () di PHP sono mostrati in questa sezione del tutorial.

Esempio 1: Invia una semplice e -mail di testo

Questo esempio mostra come un'e -mail di testo semplice può essere inviata utilizzando la funzione Mail (). Crea un file PHP con il seguente script.

Devi impostare un indirizzo email valido per $ a variabile per ottenere l'output del seguente script. Un semplice testo è impostato come un corpo di messaggio.

// Imposta l'indirizzo email del Reciever
$ to = "[email protected] ";
// Imposta l'oggetto dell'email
$ soggetto = "È un'e -mail di test";
// Imposta il corpo e -mail
$ message = "Sta testando il corpo e -mail";
// Imposta le informazioni sull'intestazione
$ headers = "da: [email protected] \ r \ n ";
$ intestazioni .= "Rispondi a: [email protected] \ r \ n ";
// Invia e -mail utilizzando la funzione Message Mail ()
if (posta ($ a, $ soggetto, $ messaggio, $ headers))

Echo "L'e -mail ha inviato correttamente.\ r \ n ";

altro
echo "L'e -mail non ha inviato.
";

?>

Il seguente output verrà visualizzato dopo l'esecuzione dello script dal server Web se la funzione Mail () funziona correttamente.


Verrà visualizzato il seguente output se si controlla la posta in arrivo dell'indirizzo e -mail che è stato impostato come indirizzo email del ricevitore.

Esempio 2: Invia un'e -mail formattata HTML

Questo esempio mostra come un'e -mail formattata HTML può essere inviata usando la funzione Mail (). Crea un file PHP con il seguente script.

$ messaggio La variabile viene inizializzata con il contenuto HTML che verrà inviato come un corpo di posta elettronica. È menzionato nel $ header variabile che il contenuto dell'e -mail è HTML.

// Imposta l'indirizzo email del Reciever
$ to = "[email protected] ";
// Imposta l'oggetto dell'email
$ soggetto = 'registrazione riuscita';
// Imposta il corpo e -mail
$ message = '

La tua registrazione è completata con successo.


nome utente = Fahmida20

password = ASWQ34GHQW


';
// imposta il ritorno del trasporto
$ nl = "\ r \ n";
// Imposta l'intestazione del tipo di contenuto
$ headers = 'mime-version: 1.0 '.$ nl;
$ intestazioni .= 'Content-Type: text/html; chatset = ISO-8859-1 '.$ nl;
// Imposta le informazioni aggiuntive per le intestazioni
$ intestazioni .= 'A: mehrab hossain'.$ nl;
$ intestazioni .= 'Da: amministratore'.$ nl;
$ intestazioni .= 'CC: [email protected].$ nl;
// Invia e -mail utilizzando la funzione Message Mail ()
if (mail ($ to, $ soggetto, $ message, $ headers))
Echo "L'e -mail ha inviato correttamente.\ r \ n ";

altro
echo "L'e -mail non ha inviato. \ r \ n ";

?>

Il seguente output verrà visualizzato dopo l'esecuzione dello script dal server Web se la funzione Mail () funziona correttamente.


Verrà visualizzato il seguente output se si controlla la posta in arrivo dell'indirizzo e -mail che è stato impostato come indirizzo email del ricevitore.

Esempio 3: Invia un'e -mail con l'allegato

Questo esempio mostra come un'e -mail può essere inviata allenando un file di testo. Crea un file di testo con il seguente script.

Il contenuto del file di testo viene letto e codificato prima dell'allegato e la funzione md5 () viene utilizzato nello script per generare un numero casuale per il contenuto misto. Vengono aggiunte tutte le informazioni necessarie $ intestazioni E $ messaggio variabili prima di inviare l'e -mail.

// Imposta l'indirizzo email del Reciever
$ to = "[email protected] ";
// Imposta l'oggetto dell'email
$ soggetto = "allegato file";
// imposta il ritorno del trasporto
$ nl = "\ r \ n";
// Imposta un hash casuale che verrà utilizzato per il contenuto misto
$ separator = md5 (time ());
// Leggi il contenuto del file allegato
$ fileName = 'myfile.TXT';
$ content = file_get_contents ($ nome file);
$ content = chunk_split (base64_encode ($ content));
// Imposta il messaggio e -mail con le informazioni sull'allegato
$ message = "-" . $ separatore . $ nl;
$ messaggio .= "Content-Type: text/pianura; chatset =" ISO-8859-1 "" . $ nl;
$ messaggio .= "Codifica per trasferimento di contenuti: 8bit" . $ nl;
$ messaggio .= "Un file di testo è allegato all'e -mail." . $ nl;
$ messaggio .= "-" . $ separatore . $ nl;
$ messaggio .= "Content-Type: Applicazione/Ottet-Stream; name =" " . $ nome file . "" " . $ nl;
$ messaggio .= "Codifica per trasferimento di contenuti: base64" . $ nl;
$ messaggio .= "Disposizione del contenuto: allegato" . $ nl;
$ messaggio .= $ contenuto . $ nl;
$ messaggio .= "-" . $ separatore . "-";
// Imposta l'intestazione del tipo di contenuto
$ headers = 'mime-version: 1.0 '.$ nl;
$ intestazioni .= "Da: [email protected] ".$ nl;
$ intestazioni .= "Rispondi a: [email protected] ".$ nl;
$ intestazioni .= "Content-Type: multipart/misto; confine =" " . $ separatore . "" " .$ nl;
// Invia e -mail utilizzando la funzione Message Mail ()
if (mail ($ to, $ soggetto, $ message, $ headers))
Echo "L'e -mail ha inviato con successo con allegato.\ r \ n ";

altro
echo "L'e -mail non ha inviato. \ r \ n ";

?>

Il seguente output verrà visualizzato dopo l'esecuzione dello script dal server Web se la funzione Mail () funziona correttamente.


Verrà visualizzato il seguente output se si controlla la posta in arrivo dell'indirizzo e -mail che è stato impostato come indirizzo email del ricevitore.

Conclusione

Esistono molti modi in PHP per inviare e -mail. La funzione PHP Mail () non funziona correttamente su Ubuntu dopo aver impostato la configurazione. Questo tutorial mostra le configurazioni necessarie e il modo di inviare e -mail utilizzando la funzione PHP Mail ().