因此,我想发送电子邮件并在数据库中记录已成功发送,这是我的工作:
首先,尝试向用户发送包含产品信息的电子邮件
第二,检查电子邮件是否已成功发送。如果是,则在数据库中记录已成功发送。
但是,如果发送电子邮件失败(引发了异常),我想捕获该异常并返回错误消息。
我的问题是: 是否有电子邮件被发送但仍然引发异常的情况?
因此,该代码返回错误,认为该电子邮件未发送..但实际上已发送,并且此后稍后引发了异常。
// pseudo code
try{
$is_sent = send_email();
if($is_sent){
$db->email_was_sent();
}
}catch(Exception $e){
return 'Email was not sent. An exception';
}
答案 0 :(得分:1)
是否存在发送电子邮件但仍引发异常的情况?
这取决于。
如果发送电子邮件给单个收件人,则可能导致以下三种情况:
在这种情况下,这将是SwiftMailer电子邮件客户端的未记录行为 发送电子邮件,但仍然会引发异常。
如果电子邮件发送给多个收件人,则可能导致以下三种情况:
对于其他情况,电子邮件可能会传递给某些收件人,但仍然会引发例外情况。
https://swiftmailer.symfony.com/docs/sending.html#using-the-send-method
AbstractSmtpTransport::send()
显示可能无法为一个或多个收件人发送电子邮件。
https://github.com/swiftmailer/swiftmailer/blob/v6.2.1/lib/classes/Swift/Transport/AbstractSmtpTransport.php#L178