Um E-Mails mit PHP zu versenden, bringt PHP die Funktion mail($to, $subject, $body, $header) mit. Da diese Funktion aber ohne SMTP Authentifizierung funktioniert, werden Mails vom Empfänger häufig als SPAM markiert oder bei einigen E-Mail Anbietern gar nicht erst empfangen. Um das zu verhindern, empfiehlt sich das saubere Versenden mit SMTP Authentifizierung.

Installation

Für die SMTP Authentifizierung werden die Paket Mail und Net_SMTP benötigt. Entweder diese Pakete downloaden und in die Anwendung integrieren oder wenn möglich mit pear installieren.
pear install Mail
pear install Net_Smtp

PHP Script

require_once "Mail.php";
 
$body = "Mein Mail Bodyn";
$subject = "Mail mit SMTP Authentifizierung";
$mail_to = "zumir@meinemailserver.de";
$mail_from = "phpmailer@meinemailserver.de";
 
//SMTP Verbindungsdaten
$host = "smtp.meinemailserver.de";
$username = "phpmailer";
$password = "SuperGeheim";
 
$smtp = Mail::factory('smtp',
 array (
 'host' => $host,
 'auth' => true,
 'username' => $username,
 'password' => $password
));
 
$headers = array (
 'From' => $mail_from,
 'To' => $mail_to,
 'Subject' => $subject
);
$mail = $smtp->send($mail_to, $headers, $body);
 
if (PEAR::isError($mail)) {
 echo "Fehler beim Versender der E-Mail : ". $mail->getMessage();
}