我有一个使用 phpmailer 发送电子邮件的网页。我将主机设置为“relay-hosting.secureserver.net”,将邮件->发件人、邮件->发件人和邮件->addReplyTo全部设置到同一个地址,这是我希望将退回的电子邮件通知发送到的地址。此电子邮件地址也与同一主机和 smtp 主机。当我输入错误的电子邮件地址时,我没有收到未发送的通知。我究竟做错了什么?谢谢
问问题
4814 次
2 回答
4
PHPmailer 不处理接收电子邮件。它纯粹是一个允许 PHP 与 SMTP 服务器对话以发送电子邮件的库。它绝对不支持充当邮件客户端(例如接收)。
PHPmailer 无法知道电子邮件被退回,因为退回发生在 PHPmailer 将电子邮件交给外发 SMTP 服务器很久之后。在现实世界中,PHPmailer 拿着你的信,走下街区把它丢进邮箱。退回发生在稍后,当信件承运人将信件带回并印有“返回发件人”时 - PHPmailer根本不参与其中。
您的选择是:
1) 使用 PHP 的 imap 函数连接到现有的 pop/imap 服务器并以这种方式检索电子邮件
2) 在 SMTP 端使用.forward
或类似的重定向将传入的电子邮件“发送”到 PHP 脚本。
于 2012-01-29T17:38:23.420 回答
1
我知道这是一个古老且已回答的问题,但对于那些稍后可能会遇到类似问题的帖子的人来说,您可以通过 smtp 邮件中继服务来解决这个问题。例如,如果您使用 jangosmtp,您的 jangosmtp 控制面板中有一个选项可以硬编码退回报告应发送到的地址,或者始终将退回报告发送到 From 地址。
于 2012-11-22T19:56:45.700 回答