singpolyma Asked: 2010-02-16 11:37:41 +0800 CST2010-02-16 11:37:41 +0800 CST 2010-02-16 11:37:41 +0800 CST PHP mail() 退回 772 我在 Dreamhost 上使用 PHP5 下的 mail() 发送电子邮件(我相信它使用本地 sendmail 或其他 MTA)...退回给发送的 shell 用户,而不是来自 From:/Reply-To 中的用户: 标题。有任何想法吗? php email sendmail dreamhost 3 个回答 Voted RussellBallestrini 2010-02-16T11:57:40+08:002010-02-16T11:57:40+08:00 抓住所有 如果邮件发送给域中不存在的用户,则它可能会发送到 MTA 的管理员帐户。 当垃圾邮件发送者试图向我的域上不存在的帐户发送电子邮件时,这曾经发生在我的 php 联系表上。消息将传递给管理员 MTA 帐户,而不是路由给不存在的用户。 Andy Shellam 2010-02-16T11:43:46+08:002010-02-16T11:43:46+08:00 我不确定 sendmail 是否是这种情况,但在 Exim 中,您需要授权 shell 用户成为受信任的用户,以允许它发送正确的 From: 标头。 如果您无权更改 sendmail 配置,并且您确定在 mail() 调用中发送格式正确的 From: 标头,则需要联系 Dreamhost 的支持。 Best Answer Andrew 2010-05-04T06:12:23+08:002010-05-04T06:12:23+08:00 您需要在 mail() 调用中包含 additional_parameters。如果正在使用 sendmail,则将其指定为 $additional_parameters = "-fwhateveryou@used_in.theheaders" 例如 $additional_parameters = "[email protected]" 邮件($send_to,$message_subject,$mailBody,$mailHeaders,$additional_parameters); 这对我来说可以让反弹回到正确的位置
抓住所有
如果邮件发送给域中不存在的用户,则它可能会发送到 MTA 的管理员帐户。
当垃圾邮件发送者试图向我的域上不存在的帐户发送电子邮件时,这曾经发生在我的 php 联系表上。消息将传递给管理员 MTA 帐户,而不是路由给不存在的用户。
我不确定 sendmail 是否是这种情况,但在 Exim 中,您需要授权 shell 用户成为受信任的用户,以允许它发送正确的 From: 标头。
如果您无权更改 sendmail 配置,并且您确定在 mail() 调用中发送格式正确的 From: 标头,则需要联系 Dreamhost 的支持。
您需要在 mail() 调用中包含 additional_parameters。如果正在使用 sendmail,则将其指定为 $additional_parameters = "-fwhateveryou@used_in.theheaders"
例如
$additional_parameters = "[email protected]"
邮件($send_to,$message_subject,$mailBody,$mailHeaders,$additional_parameters);
这对我来说可以让反弹回到正确的位置