Nefungující diakritika u mailu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- SiNTEx
- Člen | 2
Snažím se v Nette odeslat email, ale jeho tělo se odešle s pokaženou diakritikou.
public static function sendConfirmationEmail($email, $username, $token)
{
$template = new Nette\Templating\FileTemplate(__DIR__ . '\..\templates\emails\confirmationEmail.latte');
$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');
$template->username = $username;
$template->token = $token;
$mail = new Message;
$mail->setFrom('TEST <test@test.test>')
->addTo($email)
->setSubject('Potvrzení registrace')
->setHtmlBody($template)
->setEncoding('8bit')
->setContentType('text/html', 'utf-8');
$mailer = new SendmailMailer;
$mailer->send($mail);
}
Šablona je uložená v UTF-8 bez BOM a když jí vypíšu přes echo, tak je vše ok. Předmět emailu se také zobrazuje s diakritikou, ale jeho tělo pokažené (panř. „dDkujeme VC!m za registraci…“).