PHP mail()-发件人和回复收件人的不同域电子邮件

PHP mail()-发件人和回复收件人的不同域电子邮件,php,email,email-headers,Php,Email,Email Headers,我希望我的网站上的用户使用php mail()从我的网站域发送电子邮件。我想让用户得到他们的个人电子邮件地址,这将不是我的域电子邮件,它可能是gmail,hotmail或任何其他回复。当我这样做时,电子邮件收件人会收到gmail中的钓鱼警告 如何在php mail()中设置邮件头,使不同的发件人和回复电子邮件不会使gmail和其他服务将电子邮件标记为垃圾邮件或网络钓鱼 由于您的电子邮件未通过SPF检查,您的收件人将收到一个pishing警告。这仅仅意味着您使用的域中的没有授权您的服务器代表其发送

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


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

由于您的电子邮件未通过SPF检查,您的收件人将收到一个pishing警告。这仅仅意味着您使用的
域中的
没有授权您的服务器代表其发送邮件

尝试使用PHPmailer

您可以使用它设置单独的发件人地址以及特定的回复地址

$mail->AddReplyTo('replyto@email.com', 'Reply to name');
$mail->SetFrom('mailbox@email.com', 'Mailbox name');
话虽如此。
SetFrom
地址是一个必须通过SPF和DKIM检查的地址,最好不要标记为垃圾邮件或PISHED。此地址被识别为所有被退回电子邮件的退回地址。没有有效地址可能会中断未来的交付


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

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

基本上,你对电子邮件的来源撒谎,因此发出警告,这是很难回避的:因为任何SPF记录都会被发送用户所困扰,OP在这里实际上做不了什么。简单地使用phpmailer不会有任何区别将
从地址
回复
地址分离将启用SPF检查。从而解决所要求的问题。解决方案是不使用PHPmailer。这是设置之间的明显分离。但是SPF记录需要在发送者域上设置。因此,在此“应答”?@nogad中,有一个解决方案可用于OP。请阅读上面提到的解决方案
。SetFrom地址是一个必须通过SPF和DKIM检查的地址,最好不要标记为垃圾邮件或PISHED如果setFrom是发送服务器地址。可以设置一个单独的replyTo地址,该地址不必通过SPF检查。