gpt4 book ai didi

php - 使用 Zend_Mail 时如何验证邮件是否已发送?

转载 作者:IT王子 更新时间:2023-10-28 23:57:29 25 4
gpt4 key购买 nike

我正在使用 Zend 框架发送邮件。配置完成并编写代码后,所有这些都归结为一次调用:

$Mail->send($Transport)

如何检查这封邮件是否已正确发送?我在某处读到 Zend Mail 抛出异常,但其他人说有时情况并非如此。

在使用 Zend_Mail 时确保邮件已正确发送的防弹编程方法是什么?

编辑:当我说发送时,我的意思是发送到 SMTP 服务器。

最佳答案

通常 Zend_Mail 会在发送过程中发生错误时抛出异常 - 但这在很大程度上取决于所使用的 Zend_Mail_Transport_*

这里有两个选择:

  • Zend_Mail_Transport_Sendmail(默认传输)依赖于 mail() .如果 mail() 返回 falseZend_Mail_Transport_Sendmail 抛出一个 Zend_Mail_Transport_Exception(无法发送邮件).返回值本身不是很可靠。这是手册中关于返回值的说法:

    Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

    It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.

  • Zend_Mail_Transport_Smtp 使用封装在 Zend_Mail_Protocol_Smtp 中的 SMTP 协议(protocol)发送电子邮件。在这种情况下,无论什么时候违反 SMTP 协议(protocol)(​​例如发送邮件而不提供发件人地址)或 STMP 服务器报告错误或连接超时,您都会得到一个 Zend_Mail_Protocol_Exception

    因此,如果与 STMP 服务器通信时没有抛出异常,您可以确定远程服务器至少接受了您的电子邮件。

关于php - 使用 Zend_Mail 时如何验证邮件是否已发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com