$message->send() nefunguje a nevyhodí ani error
- Čamo
- Člen | 798
Prosím Vás mám takýto kód na rozposielanie emailov:
$template = $this->createTemplate();
$template->setFile(APP_DIR . '/templates/@mail/article.latte');
$template->article = $article;
$message = clone $this->context->message;
foreach ($emails as $email => $name) {
$message->addTo($email, $name);
}
$message->setHtmlBody($template, false);
a chcem to poslať takto:
$message->send();
Ale nič sa nepošle(mám nainštalovaný Test Mail Server Tool) a nevyhodí
to ani žiadnu chybu.
Keď to prepíšem na:
$mailer = new SendmailMailer;
$mailer->send($message);
Tak to normálne funguje. Ale potreboval by som pochopiť, prečo nefunguje
ten prvý príklad.
Netuší niekto z vás v čom je problém pri $message->send()?
- Šaman
- Člen | 2666
A v jaké verzi Nette? V nové už Message ani nemá metodu send. Je to stejný problém, jako s ActiveRecord entitou. Message nemá zajímat jak se pošle. Ta si ručí jen za svoji zprávu, šablonu, formátování a uchování informace odkud kam. Zbytek řeší mailer, který umí zprávu odeslat.
- Šaman
- Člen | 2666
U tebe asi existuje. V tom případě ale potřebuje mailer, sama se neodešle. A ten ji musíš pomocí setMailer(), jinak se vezme nějaký defaultní (a ten je čertví co, klidně to může posílat pomocí PHP fce send() a tvůj mailer může být třeba nakonfigurovaný SmtpMailer)
Editoval Šaman (21. 12. 2014 14:06)