Odeslání emailu – exception

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

Ahoj,
mám fci na odesílání emailů, která na localhostu nefunguje… protoze tam nemam smtp server, ale chtel jsem si overit jak to bude vyhazovat chyby. Chtel bych takovou chybu ulozit do logu, ale pritom i ve formulari zobrazit uzivateli, ze se to nepovedlo.

public function sendMail($form){
  $mail = new Mail;
  $mail->setFrom('<no-reply@example>')
        ...;
  try {
        $mail->send();
        return TRUE;
  } catch (InvalidStateException $e) {
        $form->addError("Nepodařilo se odeslat email");
        throw $e;
  }

}

Při autodetectu to hodi normalni červenou chybu, když jsem ale dal:

Debug::enable(Debug::PRODUCTION, „log.log“);

Tak proste vyhodi Vzdálený server/soubor nebyl nalezen. Nevím co s tím, díky za pomoc.

kutilm
Člen | 21
+
0
-

Zkus zakomentovat

throw $e;
redhead
Člen | 1313
+
0
-

kutilm napsal(a):

Zkus zakomentovat

throw $e;

Je řekl bych blbost, protože ta výjimka jinak nedosáhne až k laděnce ne?? Jistej si ale nejsem

Ale spíš, neměl by bejt ten parametr názvu logu být včetně cesty?

Debug::enable(Debug::PRODUCTION, "logs/log.log");

a složka logs musí být zapisovatelná..

Editoval redhead (16. 12. 2009 20:38)

i.magine
Člen | 81
+
0
-

Ahoj,
uz jsem zkousel zakomentovat throw exception a funguje to dobře, vypíše to chybu do formuláře, ale do logu už ne.

redhead: V tom logu není problém do toho to zapisuje v pořádku (když to teda zase odkomentuju).

Problém je jenom v tom, že to nahlásí neznámou stránku a nevrátí se to zpátky do formu.

Díky