C'è un modo per utilizzare la classe "Event" di Laravel per eseguire del codice prima che venga inviata ogni e-mail? Mi piacerebbe anche la possibilità di annullare lo Mail::send();
.Laravel Mail Listener (Prima di inviare - Possibilità di annullare)
Naturalmente potrei fare questo prima di inviare una e-mail:
Event::fire('email.beforeSend');
E poi ho potuto ascoltare in questo modo:
Event::listen('email.beforeSend', function()
{
//my code here
});
Il problema di questo è che devo ricordare a correre Event::fire()
che preferirei non fare. Nel mio caso sto rimbalzando l'indirizzo email contro un elenco di annullamento dell'iscrizione per assicurarmi di non inviare spam.
Interessante. Quindi il mio listener sembrerebbe 'Event :: listen ('mailer.sending', function() {});'? Non ho familiarità con 'Mail :: pretend();' Sto indovinando che fa la stessa cosa di ''fingere' => false' in config. Ti scherzo con questo e torno da te. – sterfry68
Penso che 'Mail :: pretend();' "fingerebbe" di inviare un'altra email ma non cancellerebbe l'email corrente. Ho ragione? http://laravel.com/docs/4.2/mail#mail-and-local-development – sterfry68
Attiva la modalità "fingere". Le righe successive in "sendSwiftMessage" controllano la modalità e salta l'invio. – ceejayoz