![PHP mail() 退回](https://linux22.com/image/506003/PHP%20mail()%20%E9%80%80%E5%9B%9E.png)
我在 Dreamhost 上使用 PHP5 下的 mail() 发送电子邮件(我相信它使用本地 sendmail 或其他 MTA)... 退回的邮件被发回给发送 shell 用户,而不是发件人:/回复至:标头中的用户。有什么想法吗?
答案1
您需要在 mail() 调用中包含 additional_parameters。如果正在使用 sendmail,则将其指定为 $additional_parameters = "-fwhateveryou@used_in.theheaders"
例如
$附加参数 = "[电子邮件保护]“
邮件($send_to,$message_subject,$mailBody,$mailHeaders,$additional_parameters);
这对我来说可以让弹回回到正确的位置
答案2
全部捕捉
如果邮件发送给域中不存在的用户,则它可能会被发送到 MTA 的管理员帐户。
当垃圾邮件发送者试图向我域名中不存在的帐户发送电子邮件时,这种情况曾经发生在我的 php 联系表单上。该邮件将被传递到管理员 MTA 帐户,而不是路由到不存在的用户。
答案3
我不确定 sendmail 上是否存在这种情况,但在 Exim 中,您需要授权 shell 用户成为受信任的用户,以允许它发送正确的 From: 标头。
如果您无权更改 sendmail 配置,并且您确定您在 mail() 调用中发送了格式正确的 From: 标头,则您需要联系 Dreamhost 的支持。