你可能知道,当Laravel准备发送电子邮件消息时,它会触发MessageSending事件。我添加了一个监听器来监听这个特定的事件。
不幸的是,在监听器的处理方法中,我无法确定收件人的电子邮件地址。我只能获得Swift Mailer消息作为参数。
你知道我如何在监听器的处理方法中检索收件人的电子邮件地址吗?
你可能知道,当Laravel准备发送电子邮件消息时,它会触发MessageSending事件。我添加了一个监听器来监听这个特定的事件。
不幸的是,在监听器的处理方法中,我无法确定收件人的电子邮件地址。我只能获得Swift Mailer消息作为参数。
你知道我如何在监听器的处理方法中检索收件人的电子邮件地址吗?
您可以在 Swift_Message 对象上调用 getTo() 方法,以获取将收到此邮件的地址列表:
$message = $event->message;
$addresses = $message->getTo();
->getTo()
方法在 Laravel 9 中已经有所不同。 public function handle($event)
{
$emails = collect($event->message->getTo())
->map(fn ($item) => $item->getAddress());
}