Swift_Mailer::send()
方法将失败的地址添加到其第二个参数:
$numSent += $mailer->send($message, $failedRecipients);
是否有一种简单的方法来获取每个被拒绝的电子邮件地址触发的确切错误消息?
到目前为止,我已经启用了Swift_Plugins_Loggers_ArrayLogger
记录器,我能够dump()
它,但结果数组包含完整的SMTP会话,我被迫进行了一些很好的字符串解析:< / p>
++ Starting Swift_SmtpTransport
<< 220 smtp.example.com ESMTP Postfix
>> EHLO [127.0.0.1]
<< 250-smtp.example.com
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
[...]
>> RCPT TO: <info@example.con>
<< 450 4.1.2 <info@example.con>: Recipient address rejected: Domain not found
!! Expected response code 250/251/252 but got code "450", with message "450 4.1.2 <info@example.con>: Recipient address rejected: Domain not found"
>> RSET
<< 250 2.0.0 Ok
虽然这不是什么大问题,但我想知道我是否错过了一个更好的选择。