在Laravel 9项目中,我使用动态SMTP设置:
$transport = Transport::fromDsn("smtp://$department->email:$department->smtp_password@$department->smtp_host:$department->smtp_port");
$mailer = new Mailer($transport);
$email = (new Email())
->subject($request->email_subject)
->from($department->email)
->to($request->email_reply_to)
->html($request->body);
$headers = $email->getHeaders();
$mailer->send($email);
然而,我无法获得邮件的ID。在Laravel使用Swift_Mailer之前,我可以这样做:
$email->getId()
但现在我得到:
Call to undefined method Symfony\Component\Mime\Email::getId()
那么,如何检索消息的ID呢?
编辑:为了获得MessageId,我必须首先获得SentMessage对象,然后在该对象中访问getMessageId
方法。
现在的问题是,如何获得SentMessage
对象?$mailer->send($email)
返回null
1条答案
按热度按时间kkih6yb81#
https://github.com/symfony/symfony/pull/38517提供了一个提示:不要使用
Mailer
,而是使用Transport
本身。当手动创建Mailer
类时,它本身并不比在传输上调用send
做更多的事情。