在使用 Metronic 8 主題將 Laravel 8 專案更新到 Laravel 9 后,我在發送電子郵件時遇到問題。我沒有更改與電子郵件相關的任何代碼,但現在使用 Sendmail 驅動程式出現此錯誤:
電子郵件必須有“收件人”、“抄送”或“密送”標題。{"userId":6,"exception":"[object] (Symfony\Component\Mime\Exception\LogicException(code: 0):電子郵件必須有“To”、“Cc”或“Bcc”標頭。在/home/myhome/public_html/myproject.com/vendor/symfony/mime/Message.php:128)
控制器
class MyController extends Controller
{
public function activate($id)
{
$mymodel = MyModel::find($id);
$contact = Contact::where('mymodel_id', $mymodel->id)->first();
Mail::to($contact->email)->send(new MyMail($contact));
}
}
可郵寄
class MailActive extends Mailable
{
use Queueable, SerializesModels;
protected $contact;
public function __construct(Contact $contact)
{
$this->contact = $contact;
}
public function build()
{
return $this->from('[email protected]', 'Me')
->view('emails.myemailview')
->with([
'contact' => $this->contact
]);
// $this->withSymfonyMessage(function (Email $message) {
// $message->getHeaders()->addTextHeader(
// 'addAddress', '[email protected]'
// );
// });
// return $this;
}
}
我試過單獨渲染郵件,它可以作業。使用日志驅動程式,它可以作業,并且如您所見,我什至嘗試使用可郵寄類中的 withSymfonyMessage 方法繞過 Mail 門面,但沒有任何效果。
是否有我缺少的配置或部分?我可以不用 SwiftMailer 回去讓 Laravel 9 正常作業嗎?
uj5u.com熱心網友回復:
使用->to()
return $this->from('[email protected]', 'Me')
->to($email, $name)
->view('emails.myemailview')
->with([
'contact' => $this->contact
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/426307.html
