Inviare E-mail da PHP

Pubblicato il 16 Ottobre 2009

Per inviare e-mail, da uno script PHP, la funzione “base” da utilizzare è mail:

<?php
$to = ‘destinatario@example.com‘;
$subject = ‘oggetto della mail‘;
$message = ‘ciao come va?’;
$headers = ‘From: mittente@example.com’ . “\r\n” .
‘Reply-To: webmaster@example.com’ . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();

mail($to, $subject, $message, $headers);
?>

La funzione accetta come parametri, il destinatario, l’oggetto, il messaggio e le intestazioni.

Una soluzione più sofisticata è la classe PHPmailer che, tra le tante funzioni, offre la possibilità di inviare il messaggio come HTML e di inviare le e-mail tramite i server SMTP, Sendmail, Qmail e Gmail.

Ecco un esempio di utilizzo con SMTP:

require_once(‘../class.phpmailer.php’);
$mail  =  new PHPMailer();
$body  =  file_get_contents(‘contents.html’);
$body   =  eregi_replace(“[\]”,”,$body);
$mail->IsSMTP();
$mail->Host       = “mail.tuodominio.com“;
$mail->SMTPDebug  = 2;
$mail->SMTPAuth   = true;
$mail->Host       = “mail.tuodominio.com“;
$mail->Username   = “mittente@tuodominio.com“;
$mail->Password   = “tuapassword“;
$mail->SetFrom(‘mittente@tuodominio.com‘, ‘Tuo nome‘);
$mail->AddReplyTo(‘mittente@tuodominio.com‘, ‘Tuo nome‘);
$mail->Subject    = “Oggetto della e-mail“;
$mail->AltBody    = “Per visualizzare questo messaggio usa un client HTML compatibile!“;
$mail->MsgHTML($body);
$address = “destinatario@example.com“;
$mail->AddAddress($address, “Nome destinatario“);
if(!$mail->Send()) {
echo “Mailer Error: ” . $mail->ErrorInfo;
} else {
echo “Messaggio inviato!“;
}

Condividi il post con i tuoi amici o colleghi
emawebdesign
Autore: emawebdesign

Full Stack Developer, SEO Specialist, esperto della trasformazione digitale con oltre 20 anni di esperienza.

Pubblicato in: