Laravel E-Mail senden E-Mail, sondern false zurückgeben
Ich bin versucht, senden Sie eine E-Mail und zeigt keine Fehler, wenn nötig. Der folgende code sendet eine E-Mail und ich erhalte es nur gut. Das Problem ist aber, dass wenn ich den check auf der $gesendet var, false für mich.
Bin ich nur hier etwas fehlt? Es könnte sein, weil es ist zu spät. Wer weiß...
$sent = Mail::send('emails.users.reset', compact('user', 'code'), function($m) use ($user)
{
$m->to($user->email)->subject('Activate Your Account');
});
if( ! $sent)
{
$errors = 'Failed to send password reset email, please try again.';
}
InformationsquelleAutor Chris Casper | 2014-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mail::send () - Methode nichts zurückgibt.
Können Sie die E-Mail -:: Fehler() (eingeführt in 4.1 glaube ich) - Methode auf, um ein array der fehlgeschlagenen Empfänger, in deinem code würde es so Aussehen.
Gibt es da nicht ein problem mit diesem, wie die if-Anweisung wird nach der E-mail::send-und vor dem callback übergeben E-Mail::send ausgeführt wird, und das ist der eigentliche Teil von dem code sendet die E-Mail?
Sorry für die späte Antwort, ich habe die Frage irgendwie. Ich denke, dass Sie möglicherweise ein wenig verwirrt darüber, dass (Kodierung eine Menge von JS letzter Zeit?) - Der callback wird immer ausgeführt, bevor die if-Anweisung, es ist nicht asynchron aufgerufen wird.
Ja! isnt Mail::send() asynch? Ich denke, man könnte ein Ereignis erstellen, das wenn eine email nicht gesendet werden, es Warteschlangen einen job erneut zu senden die E-mail.
E-Mail::send() ist nicht async. Sie können die queue-mail durch Aufruf von Mail::queue() anstelle der Methode send wie oben, aber das ist noch nicht technisch async, es erzeugt nur eine Warteschlange job, anstatt das senden der E-mail-und Fehler werden abgefangen, die von der queue worker.
InformationsquelleAutor judereid