Mailer neodesílá emaily, zápis do db funguje
- xciza
- Člen | 194
Ahoj,
na jedné stránce mám udělaný multistep formulář (trochu pofidérně ale
funguje) s překreslováním pomocí ajaxu. V posledním kroku (potvrzení
posledního formuláře) všechna data ukládám do db a odesílám na mail
(v průběhu data ukládám do session). Uložení do db a vygenerování
template pro mail proběhne v pořádku ale mail se neodešle.
use Nette\Application\UI\Form,
Nette\Mail\Message,
Nette\Mail\SendmailMailer;
$row = $this->person->findAdminEmail($role = "admin");
$mail = new Message;
$mailer = new SendmailMailer;
$mail->setFrom("support@support.cz")
->addTo($row->email, $row->name)
->setSubject("New registration")
->setHtmlBody($template);
$mailer->send($mail);
$this->flashMessage("Thank you. You have been successfully registered.", 'success');
$this->redirect(':Front:Default:default');
Přitom na stejné stránce mám ještě jeden formulář, jeho zpracování totožné a ten se odesílá v pořádku.
Zkoušel jsem ještě použít pouze php funkci mail()
a to mě
email odeslalo. ale když jsem chtěl přidat hlavičku abych mohl poslat html
šablonu tak už to nešlo.
Nevíte čím to může být, že ten mail neodešle?
Díky
- xciza
- Člen | 194
Takže odpovím si sám:
Strávil jsem nad tím asi 3 hodiny hledání a zkoušení až jsem změnil
email v řádku $mail->setFrom("support@support.cz")
. E-mail,
který dotal zákazník pravděpodobně neexistuje, nebo je na něm něco
zakázané protože s ním ty maily prostě nechodí. Ale když tam zadám
svůj osobní (nebo jakýkoli jiný co znám) tak mail přijde. :)