使用 Laravel Mailable 获取消息 ID

1 php email laravel laravel-5.4

有没有办法在 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);
});
Run Code Online (Sandbox Code Playgroud)

感谢您的任何建议。

Chr*_*ris 6

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

在 Laravel Mailable 的“build()”函数中,您可以执行以下操作:

$this->withSwiftMessage(function ($swiftmessage) {
   echo $swiftmessage->getId();
});
Run Code Online (Sandbox Code Playgroud)

希望这能让你开始。我的用例是编辑 ID,所以我使用了:

$this->withSwiftMessage(function ($swiftmessage) use ($newId) {
  $swiftmessage->setId($newId);
  return $swiftmessage;
});
Run Code Online (Sandbox Code Playgroud)