Nette\Mail – ověření jestli byl email odeslán

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dotTwelve
Člen | 167
+
0
-

Existuje něco jako:

$mail->isSend();

nebo jak mám zjistit zda-li byl email úspěšně odeslán pro zobrazení flash zprávy? V Nette-Mail\Mail jsem tuto metodu nenasel. Díky

Editoval dotTwelve (1. 9. 2009 13:02)

jasir
Člen | 746
+
0
-

Při nepodařeném zaslání se vyhodí InvalidStateException.
zdroj

Bernard Williams
Člen | 207
+
0
-

Nazdárek,

já to kontroluji takto:

try {
    $mail = new Mail;
		...
    $mail->send();
    $this->redirect('Kosik:potvrzeni');
    return true;
} catch(InvalidStateException $e) {
    $this->flashMessage('Zboží se nepodařilo objednat.');
    throw $e;
}

Bernard

Editoval Bernard Williams (2. 9. 2009 11:36)

kravčo
Člen | 721
+
0
-

Ten riadok return true; sa zrejme nikdy nevykoná :)

Patrik Votoček
Člen | 2221
+
0
-

Vykoná ale nevyužije… :-) Nejspíše to má v actionXxx() (na 90%) a tak mu v jedné fázi životního cyklu preseteru vrátí navíc TRUE které se ale nikde nekontroluje… :-(

jasir
Člen | 746
+
0
-

vrtak-cz napsal(a):

Vykoná ale nevyužije… :-) Nejspíše to má v actionXxx() (na 90%) a tak mu v jedné fázi životního cyklu preseteru vrátí navíc TRUE které se ale nikde nekontroluje… :-(

Nevykoná, redirect vyhodí vyjímku RedirectingException.

kravčo
Člen | 721
+
0
-

jasir napsal(a):

Nevykoná, redirect vyhodí vyjímku RedirectingException.

V aktuálnej revízii vyhodí výnimku AbortException a nastaví response na RedirectingResponse…

Bernard Williams
Člen | 207
+
0
-

kravčo napsal(a):

Ten riadok return true; sa zrejme nikdy nevykoná :)

Safra, proč to tam mám? :-)

Nilp
Člen | 65
+
0
-

Casto se to pouziva proto, aby bylo nekomu, kdo cte poprve kod, jasne, ze se dale uz nic nevykona.

kravčo
Člen | 721
+
0
-

Nilp napsal(a):

Casto se to pouziva proto, aby bylo nekomu, kdo cte poprve kod, jasne, ze se dale uz nic nevykona.

Na tento účel je oveľa lepší vysvetľujúci komentár… napr.:

$this->redirect('this');
// ^ throws exception - i.e. execution will not continue here