Neodesílá se email dump( $this->mailer->send( $msg ) ) == NULL

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

Zdravím,

mám email továrnu:

class EmailFactory extends Nette\Object
{
    /** @var Nette\Mail\IMailer */
    private $mailer;

    public function __construct( Nette\Mail\IMailer $mailer )
    {
        $this->mailer = $mailer;
    }

    public function sendContactEmail()
    {
        $latte = new Latte\Engine;
        $msg = new Nette\Mail\Message;
        $msg->setFrom( "email@from.cz" )
            ->addTo( "muj@email.cz" )
            ->setSubject( "Dotaz z kontaktního formuláře " )
            ->setBody( "telo emailu" );
        dump( $this->mailer->send( $msg ) );
        exit();
    }

Po zavolání funkce:
$this->emailFactory->sendContactEmail();

vidím na obrazovce NULL a email se neodešle

Tuší někdo proč?
Nechá se nějak debugovat proč se neodešle?

Díky

David Matějka
Moderator | 6445
+
+3
-

IMailer::send nic vracet nema. V pripade chyby pouze vyhodi nejakou vyjimku
Ale nedokaze to zachytit vsechny chyby – kdyz se zprava preda smtp serveru, tak ten si ji zaradi do fronty a (ne)odesle pozdeji. Pak nezbyva nez prozkoumat logy smtp serveru

Šaman
Člen | 2666
+
0
-

Defaultní mailer využívá php funkce mail(). Zkus tedy, jestli ti tato funkce sama něco odesílá. Pokud ne (třeba u mě na localhostu), tak můžeš využít SMTP mailer a nastavit mu odesílání z nějakého tvého mailu (seznam, gmail, …).