在 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
uj5u.com熱心網友回復:
https://github.com/symfony/symfony/pull/38517提供了一個提示:不要使用Mailer,而是使用Transport它本身。類Mailer本身,當手動創建時,并沒有比呼叫send傳輸更多。
$transport = Transport::fromDsn("smtp://$department->email:$department->smtp_password@$department->smtp_host:$department->smtp_port");
$email = (new Email())
->subject($request->email_subject)
->from($department->email)
->to($request->email_reply_to)
->html($request->body);
$headers = $email->getHeaders();
$sentMessage = $transport->send($email);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507528.html
標籤:php 交响乐 电子邮件 laravel-9 symfony 邮件程序
