Maison >développement back-end >tutoriel php >Pourquoi l'en-tête \'From\' de mon e-mail PHP est-il incorrect ?

Pourquoi l'en-tête \'From\' de mon e-mail PHP est-il incorrect ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 13:15:02182parcourir

Why Is My PHP Email's 'From' Header Incorrect?

Dépannage du problème d'en-tête « De » dans PHP Mail

Lors de l'envoi d'e-mails à l'aide de la fonction de messagerie de PHP, vous pouvez rencontrer des cas où le « De 'l'en-tête apparaît différemment de la valeur spécifiée. Examinons les causes potentielles et les solutions à ce problème.

Dans le code fourni, vous avez spécifié l'en-tête « De » comme « [email protected] », mais l'e-mail arrive avec l'en-tête « De » comme "[email protégé]". Cet écart est probablement dû aux configurations de serveur ou aux limitations imposées par votre fournisseur d'hébergement.

L'en-tête de réponse

L'en-tête « Réponse » est utilisé pour spécifier l'adresse email à laquelle les réponses doivent être envoyées. Il est généralement différent de l'en-tête « De », qui indique l'expéditeur de l'e-mail d'origine. Dans votre cas, vous avez défini « Répondre à » sur « [email protected] », et cette valeur apparaît correctement dans l'e-mail reçu.

Restrictions Gmail

Un facteur important à prendre en compte est que de nombreux FAI, y compris Gmail, restreignent l'utilisation d'adresses e-mail externes comme en-tête « De ». Lorsque vous utilisez Gmail, l'en-tête « De » doit correspondre à une adresse e-mail hébergée par le même domaine. Cette mesure de sécurité empêche les spammeurs d'usurper les adresses e-mail. Par conséquent, vous ne pouvez pas spécifier une adresse externe telle que « [email protected] » comme en-tête « De » lors de l'envoi d'e-mails à l'aide du serveur SMTP de Gmail.

Solution de contournement pour les adresses d'expéditeur valides

Si vous utilisez une adresse e-mail valide comme en-tête « De » et que le serveur l'écrase toujours, vous pouvez essayer d'ajouter un cinquième paramètre à la fonction mail() :

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

Ce paramètre spécifie le expéditeur d'enveloppe, qui est utilisé par certains FAI pour déterminer l'en-tête « De ». En définissant ce paramètre sur l'adresse « De » souhaitée, vous pouvez souvent remplacer les paramètres par défaut du serveur.

Considérations supplémentaires

  • Assurez-vous que l'adresse « De » L'adresse e-mail est un expéditeur vérifié et autorisé par votre fournisseur de messagerie.
  • Vérifiez si des mesures de filtrage ou anti-spam côté serveur sont à l'origine du problème.
  • Contactez votre fournisseur d'hébergement pour obtenir de l'aide sur la configuration. en-têtes d'e-mails.

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