是否有可能检查php是否可以从Exchange邮件服务器获取某种ping / flag,并说“是的,电子邮件已发送给目标收件人”?
根据PHP手册,mail()boolean的返回可能意味着; “重要的是要注意,仅仅因为邮件已被接受发送,这并不意味着邮件实际上会到达目的地。”
这是否意味着,PHP可以返回成功,但实际上可能在php不知道的邮件服务器上存在问题?在这种情况下,没有发送电子邮件,用户也不是更聪明的人?
TIA 贾里德
答案 0 :(得分:4)
mail()
功能只通过SMTP连接到服务器并发送消息。然后,如果服务器说服务器已收到该消息,则邮件将成功返回。
与此同时,事情可能会出错。可以删除用户的帐户,邮件服务器上的硬盘可能崩溃,SMTP服务器可能无法找到用户的邮件服务器。用户的邮件服务器可以拒绝该邮件,因为用户的邮箱已满。许多事情都可能出错。
这不是PHP的错。并且不能对任何编程语言API进行合理的改进以确保有人获得该消息。但是像CampaignMonitor这样的公司提供了一种付费服务,可以检查退款以及是否有人打开邮件来更新邮寄您的邮件列表。使用来自这些服务的API,您可以在几天内检查消息是否已成功接收。
所以PHP文档只是说'我们只能告诉你第一个SMTP服务器是否说它得到了它。从那里到具有电子邮件帐户的人之间的计算机之间可能发生任何数量的问题。'