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!“;
}
Pubblicato in: