Při pasivním odeslání emailu se ignoruje pole ‚Subject‘ nastavené v šabloně
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Šaman
- Člen | 2666
Nette 2.1-dev (aktuální k 27.11.2012), PHP 5.3
V šabloně mám
{var $mail->from = "Admin <webmaster@project.cz>"}
{var $mail->subject = "Pokusný mail"}
A při pasivním odeslání mi přijde email bez subjectu. Zajímavé je, že odesílatel se nastaví.
<?php
$email = new Nette\Mail\Message();
$email->addTo("my@address.cz")
->setHtmlBody($emailTemplate);
$this->mailer->send($email); // nevyplní se Subject
?>
Zjistil jsem, že když nastavím zprávě mailer a nechám zprávu, ať se odešle sama (aktivně), tak všechno funguje jak má. Jen mi to přijde o něco méně čisté.
<?php
$email = new Nette\Mail\Message();
$email->setMailer($this->mailer);
$email->addTo("my@address.cz")
->setHtmlBody($emailTemplate)
->send(); // funguje i se Subjectem
?>
//EDIT: Omlouvám se za dezinformaci, koukám, že mám dev verzi. Ozdkoušeno i na aktualizované. Mimochodem, v debugBaru v panelu Nette se mi zobrazí u verze Nette dovětek „(released on $WCDATE$)“, což bude asi taky brouček.
//Dodatek: rozdíl je jen v tom, že $message->send()
zavolá nejprve protected metodu build()
, zatímco při odeslání
mailerem se tato metoda zavolat nemůže.
Editoval Šaman (27. 11. 2012 17:32)