2015-09-01 13 views
10

Czy istnieje sposób na dodanie domyślnych nagłówków do wszystkich wiadomości e-mail w Laravel 5.1? Chcę, aby wszystkie wiadomości e-mail należy przesłać z następującym nagłówkiem:Jak dodać nagłówki do e-maila w Laravel 5.1

x-mailgun-native-send: true 
+0

gdzie dowiedziałeś się o 'x-mailgun-native-send'? nie mogę znaleźć żadnej dokumentacji na stronie skrzynki pocztowej. Ta – gondo

Odpowiedz

14

laravel wykorzystuje SwiftMailer do wysyłania poczty.

Podczas korzystania fasadę mail, aby wysłać e-mail, zadzwonić wysłać metodę() i zdefiniować callback:

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

telefoniczny odbiera $m zmienna, która jest przedmiotem \Illuminate\Mail\Message, że ma getSwiftMessage() metodę, która zwraca \Swift_Message obiektu do ustawienia nagłówków:

$swiftMessage = $m->getSwiftMessage(); 

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

Witam, mam ten sam problem z niektórymi domenami e-mail nie do przyjęcia, domeny poczty comcast.net wciąż nie działają, a także inne. Używam mailgu z moją konfiguracją laravel. Nadal mam ten problem nawet z kodem, więc mam nadzieję, że możesz odpowiedzieć na niektóre z moich pytań. czy zawierają nagłówki $ w funkcji Mail :: send()? Czy jest jeszcze coś jeszcze? porty otwarte? lub cokolwiek, co mogę sprawdzić, aby upewnić się, że działa. każda pomoc byłaby świetna. Thankx – rbz

+0

Nie mogę tego uruchomić. Wciąż dostaję "błąd składni, nieoczekiwany" $ swiftMessage "(T_VARIABLE)'. Myśli? –

+0

@timpeterson to najprawdopodobniej błąd parsowania, co oznacza, że ​​masz błąd składniowy w kodzie. – Bogdan

3

Lekka modyfikacja odpowiedzi @ maxim-lanin. Możesz go używać tak płynnie.

\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'); 
}); 
Powiązane problemy