Mail verschicken mit PHPmailer & SMTP Auth

27. November 2009 at 10:38

Zum versenden von Emails mit SMTP-Auth unter PHP könnt ihr unter anderem die Library PHPmailer verwenden.
Diese ist kostenlos zu laden unter sourceforge.net/projects/phpmailer

Die folgende PHP-Funktion zeigt wie damit HTML-Mails inkl. Anhang sowie vorherigen SMTP-Auth versendet werden können:

function sendmail($subject='', $recipient='', $body='', $FILES = array())
 {
 //Klasse einbinden
 require_once(PFAD_ZU_PHPMAILER_CLASS  .  '/phpmailer/class.phpmailer.php');
 //Instanz von PHPMailer bilden
 $mail = new PHPMailer();
 // Parameter setzen
 $mail->IsSMTP(); //Versand SMTP festlegen
 $mail->Host = "smtp.server.de"; //SMTP-Server setzen
 $mail->SMTPAuth = true;     //Authentifizierung aktivieren
 $mail->Username = "UserName";  // SMTP Benutzername
 $mail->Password = "UserPassword"; // SMTP Passwort
 $mail->IsHTML(true);
 //$mail->AddEmbeddedImage('logo.jpg', 'logoimg', 'logo.jpg'); // attach file logo.jpg, and later link to it using identfier logoimg
$mail->AltBody='Hier kann optional der alternative Body Text Definiert werden';
 // Return Path setzen
 $mail->Sender = 'absender@email.com';
 //Absenderadresse der Email setzen
 $mail->From = 'absender@email.com';
 //Name des Abenders setzen
 $mail->FromName = 'User XY';
 //Empfaengeradresse setzen (mehrere Empfaenger durch Komma trennen, soll jede E-Mail separat verschickt werden so muss ein Array uebergeben werden)
 $mail->AddAddress($recipient);
 //Empfaenger einer Blindkopie setzen
 $mail->AddBCC('bcc@email.com', 'bcc2@email.com');
//Empfäer einer Kopie setzen
//$mail->AddCC('cc@email.com');
 //Betreff der Email setzen
 $mail->Subject = $subject;
 //Text der EMail setzen
 $mail->Body = $body;
 // Dateien anhäen?
 for($i=0; $i<count($FILES); $i++)
 {
$mail->AddAttachment($FILES[$i]['pfad'], $FILES[$i]['name']);
 }
 // Senden
 $mail->Send();
 }