2013-07-04 16 views
7

Non riesco a trovare il metodo all'interno dell'API di Laravel 4 docs/Email in cui posso aggiungere intestazioni personalizzate a un'e-mail.Custom Email Headers in Laravel 4

Ad esempio:

Mail::send('emails.welcome', $data, function($message) 
{ 
    $message->to('[email protected]', 'John Smith')->subject('Welcome!'); 
    $message->headers('X-Tags', 'tag1 tag2 tag3'); 
}); 

Qualcuno sa come questo può essere fatto?

risposta

15

Per quanto ne so non c'è modo di aggiungere intestazioni personalizzate senza raggiungere Swift Mailer.

Prova qualcosa del genere.

$message->getSwiftMessage()->getHeaders()->addTextHeader('X-Tags', 'tag1 tag2 tag3'); 

Non sembra bello ma guardando attraverso la fonte che dovrebbe fare il trucco.


Come sottolineato nei commenti qui sotto il metodo getSwiftMessage non è necessaria in quanto v'è un metodo magico __call sulla classe Illuminate\Mail\Message che ho trascurato.

$message->getHeaders()->addTextHeader('X-Tags', 'tag1 tag2 tag3'); 
+1

Il metodo 'getSwiftMessage()' è quello necessario? Ho ottenuto un buon risultato con solo '$ Message-> getHeaders() -> addTextHeader()' –

+0

Ah sì non è necessario. Non ho notato il metodo magico lì che attiva i metodi nella classe 'Swift_Message'. Ho aggiornato la mia risposta. –

+0

Grazie @JasonLewis – eski009