Heim > Backend-Entwicklung > PHP-Tutorial > Warum wird der „From'-Header meiner PHP-Funktion „mail()' ignoriert und wie kann ich das Problem beheben?

Warum wird der „From'-Header meiner PHP-Funktion „mail()' ignoriert und wie kann ich das Problem beheben?

DDD
Freigeben: 2024-12-01 10:54:09
Original
542 Leute haben es durchsucht

Why is my PHP mail() function's

Problem mit dem „From“-Header in PHP-Mail

Um die Benutzerfunktionalität zu verbessern, wurde eine Website entwickelt, um dem Benutzer automatisch E-Mails zu senden Anmeldung. Der für diese Aufgabe verwendete PHP-Code wird unten detailliert beschrieben:

<?php
$to = "[email&#160;protected]";
$subject = "Test mail";
$message = "Hello! \nThis is a simple email message.";

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

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

echo "Mail Sent.";
?>
Nach dem Login kopieren

Beim Versenden von E-Mails über diesen Code trat ein unerwartetes Problem auf. Der in den zugestellten E-Mails angezeigte „From“-Header blieb als „[email protected]“ erhalten, während der „Reply-To“-Header korrekt den angegebenen „[email protected]“-Wert widerspiegelte. Der verwendete Mailserver war box123.bluehost.com.

Ursache des Problems

Nach weiteren Untersuchungen wurde festgestellt, dass die Verwendung einer Gmail-Adresse als „ Der Wert „Von“ war die Hauptursache des Problems. Internetdienstanbieter (ISPs), einschließlich Bluehost, schränken häufig die Verwendung externer E-Mail-Adressen als „Von“-Wert ein, um E-Mail-Spoofing zu verhindern. Infolgedessen hat der ISP die „Von“-Adresse mit ihrem Standardwert überschrieben.

Problemumgehung

Um dieses Problem zu beheben und Antworten an die vorgesehene Adresse umzuleiten, ist dies der Fall Es wird empfohlen, stattdessen den Header „Reply-To“ zu verwenden. Zusätzlich kann der Funktion mail() ein fünfter Parameter hinzugefügt werden, wie unten gezeigt:

mail($to,$subject,$message,$headers,"-f [email&#160;protected]");
Nach dem Login kopieren

Dieser Parameter gibt die Option „-f“ an, die bei vielen ISPs die manuelle Einstellung des „From“-Headers ermöglicht .

Das obige ist der detaillierte Inhalt vonWarum wird der „From'-Header meiner PHP-Funktion „mail()' ignoriert und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage