Heim >Backend-Entwicklung >PHP-Tutorial >Warum ist der „From'-Header meiner PHP-E-Mail falsch und wie kann ich das beheben?

Warum ist der „From'-Header meiner PHP-E-Mail falsch und wie kann ich das beheben?

DDD
DDDOriginal
2024-11-23 11:07:46591Durchsuche

Why is My PHP Email's

Fehlerbehebung beim „From“-Header-Problem in PHP-Mail

Bei der Website-Entwicklung ist das Versenden von E-Mails an Benutzer bei der Registrierung eine häufige Aufgabe. Es kann jedoch frustrierend sein, auf Probleme mit dem „From“-Header zu stoßen. Ein Entwickler, der auf ein solches Problem stieß, suchte Rat beim Versenden von E-Mails an Benutzer bei der Registrierung und präsentierte dabei seinen PHP-Code:

$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! \nThis is a simple email message.";

$headers = "From: [email protected]";
$headers .= "\r\nReply-To: [email protected]";
$headers .= "\r\nX-Mailer: PHP/".phpversion();

mail($to,$subject,$message,$headers);

echo "Mail Sent.";

Das Problem trat jedoch auf, als in der zugestellten E-Mail der „Von“-Header als [email protected] angezeigt wurde. , während der „Reply-To“-Header wie angegeben korrekt festgelegt wurde. Der Kern des Problems lag im Hostnamen des Servers, der die Website hostete, nämlich box123.bluehost.com.

Bei der Untersuchung stellte sich heraus, dass der Entwickler versuchte, eine Gmail-Adresse als „Von“ zu verwenden " Wert. Leider ist es unwahrscheinlich, dass ein solcher Ansatz Erfolg haben wird. Wie von einem Lösungsanbieter erklärt:

„Das wird nicht funktionieren, und der ISP hat Recht, wenn er es überschreibt. Wenn Sie die Antworten auf Ihre ausgehenden Nachrichten umleiten möchten, verwenden Sie „Antworten an.“

Um dieses Problem zu beheben, wurde dem Entwickler empfohlen, den „Reply-To“-Header zum Umleiten von Antworten zu verwenden. Darüber hinaus wurde eine Problemumgehung zur Behebung des Problems für gültige Adressen bereitgestellt:

mail($to,$subject,$message,$headers,"-f [email protected]");

Durch Hinzufügen eines fünften Parameters zum Befehl mail() konnte der Entwickler das Problem mit dem „From“-Header beheben und sicherstellen, dass die E-Mail gesendet wird wurde erfolgreich gesendet.

Das obige ist der detaillierte Inhalt vonWarum ist der „From'-Header meiner PHP-E-Mail falsch und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn