成功验证mail()函数PHP

Jar*_*red 5 php

是否有可能检查php是否可以从交换邮件服务器返回某种ping/flag,说"是的,电子邮件已被发送给预期的收件人"?

根据PHP手册,mail()boolean的返回可能意味着; "重要的是要注意,仅仅因为邮件被接受交付,这并不意味着邮件实际上会到达目的地."

这是否意味着,PHP可以返回成功但实际上可能存在php不知道的邮件服务器上的问题?在这种情况下,没有发送电子邮件,用户不是更聪明的?

TIA Jared

Rob*_*ert 4

mail()函数将仅通过 SMTP 连接到服务器并发送消息。然后如果服务器说服务器已经收到邮件,邮件就会成功返回。

与此同时,事情可能会出错。用户的帐户可能会被删除,邮件服务器上的硬盘可能会崩溃,SMTP 服务器可能无法找到用户的邮件服务器。用户的邮件服务器可能会拒绝该邮件,因为用户的邮箱已满。很多很多事情都可能出错。

这不是 PHP 的错。并且无法对任何编程语言 API 进行合理的改进来确保有人收到消息。但有些公司(例如CampaignMonitor)提供付费服务,可以检查退回邮件以及是否有人打开邮件来更新您的邮件列表。使用此类服务​​中的 API,您可以在几天后检查消息是否已成功接收。

所以 PHP 文档只是说,‘我们只能告诉你第一个 SMTP 服务器是否表示已收到。从那里的计算机到拥有电子邮件帐户的人之间可能会发生任何数量的问题。