Как добавить заголовки в электронную почту в Laravel 5.1

Есть ли способ добавить заголовки по умолчанию для всех писем в Laravel 5.1? Я хочу, чтобы все письма отправлялись со следующим заголовком:

x-mailgun-native-send: true 

Related of "Как добавить заголовки в электронную почту в Laravel 5.1"

Laravel использует SwiftMailer для отправки почты.

Когда вы используете почтовый фасад для отправки электронной почты, вы вызываете метод send () и определяете обратный вызов:

 \Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) { $m->to($user->email, $user->name)->subject('Your Reminder!'); }); 

Обратный вызов получает переменную $m которая является объектом \Illuminate\Mail\Message , у которого есть getSwiftMessage() который возвращает объект \Swift_Message который вы можете использовать для установки заголовков:

 $swiftMessage = $m->getSwiftMessage(); $headers = $swiftMessage->getHeaders(); $headers->addTextHeader('x-mailgun-native-send', 'true'); 

Небольшая модификация ответа @ maxim-lanin. Вы можете использовать его так, плавно.

 \Mail::send('email.view', ['user' => $user], function ($message) use ($user) { $message->to($user->email, $user->name) ->subject('your message') ->getSwiftMessage() ->getHeaders() ->addTextHeader('x-mailgun-native-send', 'true'); });