【发布时间】:2018-12-18 21:51:16
【问题描述】:
我一直在尝试使用 Laravel5.6 和 Amazon SES 在我的项目中获取“SMTP 响应代码(例如 250、530 等)”,但最终我找不到方法。
其实,我可以得到 SES 发布的“Message ID”……但是我怎样才能得到 RAW 响应码呢?
这是我尝试从发送的邮件中获取消息 ID 的内容。
1) 为“MessageSent”事件注册“LogSentMessage”监听器,发送邮件时触发。
protected $listen = [
'Illuminate\Mail\Events\MessageSent' => [
'App\Listeners\LogSentMessage',
],
];
2) 在“App\Listeners\LogSentMessage”监听文件中获取 Swift_message 对象
public function handle(MessageSent $event)
{
dd($event->message); //I could get an object containing email data
// $event->message->getId(); gives me the Message ID.
}
如果有人知道如何并让我分享,我将不胜感激。
谢谢。
【问题讨论】:
-
签出这个 Swift_Events_SendEvent Api 他们有一个名为
setResult和getResult的方法,laravel 在他们的 SES Mailer 服务中也使用相同的事件类。尝试dd($event);并查看课程详情。 apigen.juzna.cz/doc/swiftmailer/swiftmailer/… -
@Purvesh 非常感谢您提供的好信息!按照您的建议,我可以以某种方式获得 Swift_Events_SendEvent->getResult() 值。但是,我真的很想知道是否有办法获得准确的 SMTP 响应代码,例如 250、454、530、535……有什么建议吗?
-
我的假设是获取响应代码并设置响应代码值应该是:250 或 530
-
@Purvesh 我希望如此,但实际上 Swift_Events_SendEvent -> getResult() 返回以下之一: 0x0001, 0x0011, 0x0010, 0x0100, 0x1000 - 表示挂起、假脱机、成功、暂时成功、失败,分别。
标签: laravel smtp amazon-ses