Die Rückgabe der Fehler, warum die E-mail konnte nicht gesendet werden innerhalb von Yii 2 Basis-mailer-Klasse

Ich bin mit Yii 2 und bin mit dem mailer aus dem Basis mailer-Klasse und zum größten Teil, es funktioniert gut, aber manchmal ist es nicht senden..... also mein code ist wie:

//Let's start composing the message
$mail = Yii::$app->mailer->compose($view_data, $view_params);

//.........

//Send the message
$send = $mail->send();      

Manchmal $send ist false aber ich bin mir nicht sicher, wie Sie Sie finden heraus, WARUM es falsch ist? Gibt es eine Möglichkeit, den Fehler gemacht, dass es falsch sein?

  • yup! Protokolle überprüfen 😉
  • Ich würde es vorziehen, um den Fehler zu erhalten, so kann ich es weiterleiten an meine eigenen Protokolle.
  • Yii2 kommt mit einigen WIRKLICH guten logs Mann. Ich meine top-notch-Protokolle. Sie können diese anzeigen in Ihrem browser, wenn Sie den debugging-Modus auf oder in Laufzeit/logs oder /debug-Sie brauchen keine separate logs, aber wenn Sie darauf bestehen, dass kann ich dir nicht helfen, sorry... ich weiß nicht, wie zu tun, dass...
  • Hey Kumpel, ich denke afterSend() wäre eine nützliche Methode für Sie. yiiframework.com/doc-2.0/... . Da haben Sie die Protokolle.
  • Das ist genau das, was ich verwende. Yii logging-tools; aber ich muss in der Lage sein den Fehler zu finden damit ich Yii::error() mit den tatsächlichen Fehler 🙂
  • Ich hatte einen Blick auf diese Methode, aber ich bin mir nicht sicher, wie es mir helfen würde, da ich noch unsicher bin, wie man den eigentlichen Fehler aus dem mailer anmelden.
  • Blick auf Yii ' s logs um den Fehler anzuzeigen. Sie können sich es anders danach, aber mit zu beginnen Blick in die Protokolle. Meinst du es gibt keine Fehler gezeigt hat? Auch ich glaube nicht, es ist eine gute Idee für das Drehbuch zu warten, bis die E-Mail gesendet werden. Ich würde erstellen Sie einen cron-job zu schicken, die tatsächlichen E-Mails aus einer Liste. Sie können versuchen, mehrere Male, bevor es ausfällt.
  • Welche logs genau? Ich habe benutzerdefinierte Protokolldateien setup für alle log-Typen.
  • Verwenden Sie useFileTransport = true in der config?
  • Sie können auf info melden und bekommen Yii::info('Sending email "' . $message->getSubject() . '" to "' . $address . '"', __METHOD__); in Ihrem app.log. github.com/yiisoft/yii2/blob/master/framework/mail/... für var_dump($isSuccessful) ^_^
  • Nee, es ist festgelegt false.
  • Hmmm, ok danke!

InformationsquelleAutor Brett | 2014-12-18
Schreibe einen Kommentar