PHP: invio delle e-mail in formato testo semplice e HTML

PHP: invio delle e-mail in formato testo semplice e HTML

Come inviare e-mail in PHP usando il formato testo semplice e HTML.

Testo semplice

La soluzione è la seguente:


$to = 'account@site.tld';
$headers = 'From: Site <site@site.tld>' . "\r\n";
$subject = 'Using the PHP mail() function';
$body = 'Hello world!';

if(mail($to, $subject, $body, $headers)) {
    echo 'E-mail sent';
} else {
    echo 'E-mail not sent';
}

Il separatore tra gli header SMTP è la sequenza di caratteri \r\n. Il valore booleano della funzione mail() indica semplicemente che l'e-mail è stata correttamente inoltrata all'MTA del server e che l'invio è avvenuto. Non c'è alcuna garanzia riguardo alla ricezione dell'e-mail da parte del destinatario.

HTML

La soluzione è la seguente:


$headers = [];
$to = 'user@site.tld';
$subject = 'Test';
$body = '<html><head><title>' . $subject . '</title></head><body><h1>Hello world!</h1></body></html>';
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
$headers[] = 'From: Lorem Ipsum <lorem@example.tld>';

mail($to, $subject, $body, implode("\r\n", $headers));

Torna su