gpt4 book ai didi

php - PHP 电子邮件中 ​​ "from" header 字段防止标记为垃圾邮件的最佳实践

转载 作者:行者123 更新时间:2023-12-03 19:14:32 25 4
gpt4 key购买 nike

我正在制作一个允许用户向他们的 friend 发送电子邮件的表单。该表单将包含以下字段:

  • 来自电子邮件
  • 发送电子邮件
  • 主题
  • 正文

理想情况下,电子邮件标题中的“发件人”字段应该是用户输入的“发件人电子邮件”地址,以便收件人能够识别发件人。

但我假设将标题中的“发件人”字段设置为用户输入的“发件人电子邮件”地址会失败 SPF验证并增加电子邮件被标记为垃圾邮件的机会。

什么是最佳实践:

  1. 允许电子邮件(对收件人)显示为来自发件人的“发件人电子邮件”
  2. 降低电子邮件被标记为垃圾邮件的可能性。

在快速抽查中,

  • 纽约时报的“电子邮件文章”功能将标题中的“发件人”字段设置为发件人的电子邮件地址,并最终出现在我的雅虎收件箱中。
  • AddThis将 header 中的“发件人”字段设置为发件人的电子邮件地址,并最终进入我的雅虎垃圾邮件文件夹。
  • Delicious将 header 中的“发件人”字段设置为“Delicious”并最终出现在我的 Yahoo 收件箱中。

最佳答案

如果您的域名是 example.com,则您从表单发出的电子邮件中的 FROM header 需要类似于 info@example.com 或 noreply@example.com

将 REPLY-TO header 设置为您的用户在表单中输入的“发件人”地址。

为了让收件人识别“FROM”地址,您可以将发件人姓名放在 FROM header 中,这样当收件人看到电子邮件进来时,它会说类似 "John Smith <noreply@example.com>" 的内容。

既然你使用的是 PHP,我建议你看看 Swiftmailer。除了提供用于构建和格式化电子邮件的出色方法外,它还可以帮助您避免许多常见的 header 问题。

Swiftmailer 官方网站:http://swiftmailer.org/

您的代码可以像这样简单:

$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance()
->setSubject('This is the subject of your message')
->setFrom(array('noreply@example.com' => 'John Smith'))
->setReplyTo(array('john.smith@gmail.com' => 'John Smith'))
->setTo(array('recipient@example.com'))
->setBody('The body of your email goes here.');

$mailer->send($message);

关于php - PHP 电子邮件中 ​​ "from" header 字段防止标记为垃圾邮件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9008223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com