Maison >développement back-end >tutoriel php >Pourquoi l'en-tête \'From\' de ma fonction PHP mail() est-il ignoré et comment puis-je y remédier ?

Pourquoi l'en-tête \'From\' de ma fonction PHP mail() est-il ignoré et comment puis-je y remédier ?

DDD
DDDoriginal
2024-12-01 10:54:09545parcourir

Why is my PHP mail() function's

Problème d'en-tête "From" dans PHP Mail

Dans le but d'améliorer les fonctionnalités de l'utilisateur, un site Web a été développé pour envoyer automatiquement des e-mails à l'utilisateur. inscription. Le code PHP utilisé pour cette tâche est détaillé ci-dessous :

<?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.";
?>

Lors de l'envoi d'e-mails via ce code, un problème inattendu est survenu. L'en-tête "De" affiché dans les e-mails envoyés est resté "[email protected]", tandis que l'en-tête "Reply-To" reflétait correctement la valeur spécifiée "[email protected]". Le serveur de messagerie utilisé était box123.bluehost.com.

Cause du problème

Après une enquête plus approfondie, il a été déterminé que l'utilisation d'une adresse Gmail comme " La valeur From" était à l'origine du problème. Les fournisseurs d'accès Internet (FAI), y compris Bluehost, limitent généralement l'utilisation d'adresses e-mail externes comme valeur « De » pour empêcher l'usurpation d'e-mail. En conséquence, le FAI a remplacé l'adresse « De » par sa valeur par défaut.

Solution de contournement

Pour résoudre ce problème et rediriger les réponses vers l'adresse prévue, il est Il est recommandé d'utiliser plutôt l'en-tête "Reply-To". De plus, un cinquième paramètre peut être ajouté à la fonction mail() comme indiqué ci-dessous :

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

Ce paramètre spécifie l'option "-f", qui permet le réglage manuel de l'en-tête "From" pour de nombreux FAI .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn