Kontaktformulare mit mail-Funktion und php 5.4

Veröffentlicht: von & gespeichert unter Programmierung.

Kontaktformulare mit mail-Funktion und php 5.4

In einigen Kontaktformularen (sowohl im reinen PHP-Formularen als auch in CMS Formularen) kam es vor, dass die Email nicht angekommen ist, obwohl es keine Fehlermeldungen gab und das Script bis zum Ende durchgelaufen ist. Aber die „mail“-Funktion wurde einfach nicht ausgeführt.
In unserem Fall hier ist der Code korrekt und der funktionierte auf PHP-Version 5.2 sehr gut. Nach der Umstellung auf PHP-Version 5.4 werden die Anfragen über das Kontaktformular nicht verschickt.

D.h. Es müsste hier eigentlich am Server liegen bzw. an den Servereinstellungen.

Bei einigen Hostern muss aus Sicherheitsgründen jede Domain (jede Webseite) ihre eigene Emailadresse haben, die fürs Verschicken der Anfragen des Kontaktformulars zuständig ist. Das bedeutet, dass die über das Kontanktfromular zu verschickenden Nachrichten nicht verschickt werden, wenn im Script die Standard Emailadresse nicht benutzt wird. In diesem Fall bekommt man keine Fehlermeldung.

Die Lösung: man müsste hier in der Mail-Funktion die Standard-Email der domain schreiben:

/* Empfänger */
$empfaenger = ‚empfaenger@digitalpur.de‘;

/* Absender */
$absender = ‚absender@digitalpur.de‘;

/* Betreff */
$betreff= ‚Testmail mit PHP‘;

/* Nachricht */
$nachricht= ‚Hallo php 5.4!‘;

/* Header der Mail */
$header = (‚From: ‚ . $absender . ‚ \n‘);
$header .= (‚Reply-To: ‚ . $absender . ‚ \n‘);
$header .= (‚Return-Path: ‚ . $absender . ‚ \n‘);
$header .= (‚X-Mailer: PHP/‘ . phpversion() . ‚ \n‘);
$header .= (‚X-Sender-IP: ‚ . $REMOTE_ADDR . ‚ \n‘);
$header .= (‚Content-type: text/html \n‘);

/* Verschicken der Mail */
mail($empfaenger, $betreff, $nachricht, $header, ‚-f mustermail@ihre-domain.de‘);

echo ‚Die E-Mail wurde versendet.‘;

?>

Schreibe einen Kommentar