【问题标题】:PHP mail() - Different domain emails for From and reply-toPHP mail() - From 和 reply-to 的不同域电子邮件
【发布时间】:2017-06-07 08:04:52
【问题描述】:

我希望我网站上的用户使用 php mail() 从我的网站域发送电子邮件。我希望用户能够在他们的个人电子邮件地址上得到回复,这不是我的域电子邮件,它可能是 gmail、hotmail 或任何其他。当我这样做时,电子邮件收件人会在 gmail 中收到网络钓鱼警告。

如何在 php mail() 中设置标题,以便不同的发件人和回复电子邮件不会使 gmail 和其他服务将电子邮件标记为垃圾邮件或网络钓鱼。

【问题讨论】:

标签: php email email-headers


【解决方案1】:

您的收件人收到网络钓鱼警告,因为您的电子邮件未通过 SPF 检查。这仅仅意味着您使用的from 域没有授权您的服务器代表它发送邮件。

尝试使用 PHPmailer https://github.com/PHPMailer/PHPMailer

您可以使用它来设置单独的地址以及对地址的特定回复

$mail->AddReplyTo('replyto@email.com', 'Reply to name');
$mail->SetFrom('mailbox@email.com', 'Mailbox name');

话虽如此。 SetFrom 地址是必须通过 SPF 并且最好通过 DKIM 检查以标记为 SPAM 或 PISHED 的地址。此地址被识别为 BOUNCE 地址,所有退回的电子邮件都将返回到该地址。没有有效的地址可能会影响未来的交付。

当收件人点击回复按钮时,AddReplyTo 地址将被加载。请记住,即使邮件可能通过了 SPF,但仍有许多垃圾邮件过滤器可能会将邮件标记为垃圾邮件。

【讨论】:

  • 因为任何 SPF 记录都必须由发送用户设置,因此 OP 在这里实际上可以做的不多。简单地使用 phpmailer 没有任何区别
  • from addressreply to 地址分开将启用 SPF 检查。因此解决了所要求的问题。解决方案是不使用 PHPmailer。这是设置的明显分离。
  • 但是需要在发件人域上设置 SPF 记录
  • 那么在这个“答案”中适用于 OP 的解决方案在哪里?
  • @nogad 。请阅读上述解决方案That being said. The SetFrom address is an address that must pass SPF and preferably DKIM checks to be NOT marked as SPAM or PISHED. 如果 setFrom 是发送服务器地址。可以设置一个单独的 replyTo 地址,该地址不必通过 SPF 检查。
【解决方案2】:

最简单的方法是在您的网站上创建一个电子邮件地址 (me@mysite.com),然后让该网站自动将所有邮件转发到您的 gmail 帐户。然后,在您的 mail() 例程的“发件人”和“回复”地址中使用网站电子邮件地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-17
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2010-12-09
    相关资源
    最近更新 更多