使用 Laravel Mailable 获取邮件 ID

Get message-id with Laravel Mailable

有没有办法在 Laravel Mailables 中获取待发送电子邮件的消息 ID?

我目前得到这样的 id,它工作正常,但由于它不支持降价和其他东西,我宁愿绕过这个:

Mail::send('mail.contact.confirmation', $contactData, function (Message $message) use ($mailTo, $subject, &$headers)
{
    $headers['message-id'] = $message->getSwiftMessage()->getId();
    $message->to($mailTo)->subject($subject);
});

感谢任何建议。

我不得不自己解决这个问题,所以对我的回答持保留态度(尽管它对我有用)。

在 Laravel Mailable 的 "build()" 功能中,您可以:

$this->withSwiftMessage(function ($swiftmessage) {
   echo $swiftmessage->getId();
});

希望这能让您入门。我的用例是编辑 ID,所以我使用了:

$this->withSwiftMessage(function ($swiftmessage) use ($newId) {
  $swiftmessage->setId($newId);
  return $swiftmessage;
});