Como enviar correos electrónicos con cabeceiras extra en PHP

Envío de correo electrónico con PHP é fácil e limitado


O envío de correos electrónicos con PHP é sinxelo; todo o que necesitas é unha función e tres argumentos. Non obstante, isto non é todo para as mensaxes de correo electrónico normais. Calquera ollar máis preto que unha simple mirada revelará que este uso do correo electrónico PHP carece de algunhas funcións básicas. Por exemplo, non establece a liña de cabeceo de :. En consonancia coa reputación de PHP por facilidade de uso, con todo, é unha solución rápida: simplemente engada outro argumento para especificar cabeceiras extra como X-Mailer , Cc: e, por suposto, From:.

Nota: Se especifica máis dun encabezado extra, asegúrese de separar as liñas de cabeceo con \ r \ n para asegurarse de que funcionen como desexado.

Engadir cabeceiras extra en PHP

Unha mensaxe sinxela con cabeceiras extra pode parecer así:

$ to = "recipient@example.com";
$ subject = "Hola!";
$ body = "Hola, \ n \ nComo estas?";
$ headers = "De: sender@example.com \ r \ n".
"X-Mailer: php";
se (mail ($ to, $ subject, $ body, $ headers)) {
eco ("

Mensaxe enviada! ");
}
outra cousa {
echo ("

Fallou a entrega da mensaxe ... ");
}
?>

Correo electrónico PHP con cabeceiras extra usando o correo PEAR

Tamén pode inserir cabeceiras extra cando empregue o correo PEAR para enviar un correo electrónico, por suposto:

require_once "Mail.php";
$ from = "Stephanie Sender ";
$ to = "Richard Recipient ";
$ subject = "Hola!"; $ xmailer: "php"
$ body = "Hola, \ n \ nComo estas?";
$ host = "ssl: //mail.example.com";
$ port = "465";
$ username = "smtp_username";
$ password = "smtp_password";
$ headers = matriz ('Desde' =>
$ desde, 'To' =>
$ a, 'Asunto' =>
$ asunto, 'X-Mailer' =>
$ xmailer);
$ smtp = Correo :: factory ('smtp', array ('host' =>
$ host, 'port' =>
$ port, 'auth' => true, 'username' =>
$ nome de usuario, 'contrasinal' =>
contrasinal de $));
$ mail = $ smtp-> enviar (
$ a,
cabeceiras de $,
corpo $);
se (PEAR :: isError ($ mail)) {
echo ("

". $ mail-> getMessage (). "");
}
outra cousa {
eco ("

Mensaxe enviada con éxito! ");
}
?>
$ subject = "Hola!";
$ xmailer: "php"
$ body = "Hola, \ n \ nComo estas?";
$ host = "ssl: //mail.example.com"; $ port = "465";
$ username = "smtp_username";
$ password = "smtp_password";
$ headers = matriz ('Desde' =>
$ desde, 'To' =>
$ a, 'Asunto' =>
$ asunto, 'X-Mailer' => $ xmailer);
$ smtp = Correo :: factory ('smtp', array ('host' =>
$ host, 'port' =>
$ port, 'auth' => true, 'username' =>
$ nome de usuario, 'contrasinal' =>
contrasinal de $));
$ mail =
$ smtp-> enviar ($ a,
cabeceiras de $,
corpo $);
se (PEAR :: isError ($ mail)) {
eco ("

".
$ mail-> getMessage (). "");
}
else {echo ("

Mensaxe enviada con éxito! ");
}
?>