Skip to content

Eine E-Mail mit PHP versenden

von dennis

Der minimale Header:

$to = 'Vorname Nachname <e.mail@domain.de>';
$from = 'Vorname Nachname <do-not-reply@domain.de>';
$subject = 'Betreff der E-Mail';
 
/*
ACHTET DARAUF, dass die Datei als UTF-8 ohne BOM konvertiert ist.
In den Variablen $to, $from & $subject sind Umlaute und Sonderzeichen erlaubt!
Bitte NICHT, NIEMALS, NIE htmlspecialchars im Head der E-Mail verwenden!
Das führt zu einem NOTICE und die E-Mail geht nicht raus.
*/
 
$header  = "From: ".$from.PHP_EOL;
$header .= "Message-Id: <".sha1(microtime())."@domain.de>".PHP_EOL;
$header .= "X-Mailer: PHP ".phpversion().PHP_EOL;
$header .= "MIME-Version: 1.0".PHP_EOL;
$header .= "X-Priority: 3".PHP_EOL;
$header .= "Importance: Normal".PHP_EOL;
$header .= "Content-Type: text/plain; charset=UTF-8".PHP_EOL;
$header .= "Content-Transfer-Encoding: 8bit".PHP_EOL;

E-Mail Absenden dann immer so:

mail($to, $subject, $body, $header);
/*
Bitte nicht so: mail('', $subject, $body, $header);
... oder so: mail($to, $subject, $body, "From e.mail@domain.de\nX-Priority: 3\n usw …");
*/

Um zu prüfen ob alles gut gegangen ist…

if ($mail($to, $subject, $body, $header) === true) {} // liefert TRUE oder FALSE

Eine E-Mail mit Anhang versenden siehe hier

Aus → PHP

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS