Problém s kódováním emailu UTF8
- Ages
- Člen | 128
Zdravím,
mám problém s nastavením kódování emailu, ačkoli jsem všude nastavil
UTF8 (i soubor se šablonou je v UTF8) přijde mi špatně vygenerovaný
email.
Neřešil jste někdo tento problém?
SignPresenter
protected function createComponentRegistrationForm() {
$form = $this->registrationFactory->create();
$form->onSuccess[] = function ($form, $values) {
$newUser = $this->userManager->getNewUser($values->email);
$template = $this->createTemplate()->setFile($this->storage->getWebDir() . '..\app\WebModule\templates\Sign\confirmEmail.latte');
$template->user = $newUser->name . $newUser->surname;
$template->email = $newUser->email;
$template->token = $newUser->token;
$mail = new Mail\Message;
$mail->setFrom('Email<mail@mail.cz>')
->addTo($values->email)
->setSubject('Potvrzení registrace')
->setHtmlBody($template);
$mailer = new Mail\SendmailMailer;
$mailer->send($mail);
$form->getPresenter()->redirect('Homepage:');
};
return $form;
}
confirmEmail.latte
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Dokončení registrace Genesis</title>
</head>
<body>
<p>Dobry den,</p>
<p>Pro dokončení registrace účtu s emailem: {$email} klikněte na tento odkaz: <a href="{link //Sign:registrationConfirm, $token}">aktivovat účet</a>.</p>
<p>V případě že tuto aktivitu nepoznáváte, považujte email za bezpředmětný.</p>
</body>
</html>
Vygenerovaný email
Dobry den,
Pro dokonD enC- registrace C:D tu s emailem: xxx@xxx.cz kliknD te na tento
odkaz: aktivovat C:D et.
V pE C-padD E>e tuto aktivitu nepoznC!vC!te, povaE>ujte email za bezpE
edmD tnC=.
Editoval Ages (18. 6. 2018 13:25)
- Ages
- Člen | 128
@iguana007 Používám smtp4dev:
`Subject: =?UTF-8?B?UG90dnJ6ZW7DrSByZWdpc3RyYWNl?=
To: xxx@xxx.cz
X-PHP-Originating-Script: 0:Callback.php
MIME-Version: 1.0
X-Mailer: Nette Framework
Date: Mon, 18 Jun 2018 15:39:54 +0200
From: Company <xxx@xxx.cz>
Message-ID: <swdtqlmumd@localhost>
Content-Type: multipart/alternative;
boundary=„--------xz50gykerx“
----------xz50gykerx
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Dobry den,
Pro dokonD
enC- registrace C:D
tu s emailem: age@outlook.cz kliknDte na
tento odkaz: aktivovat C:D
et <http://localhost/…tion-confirm?…>.
V pEC-padD E>e tuto aktivitu nepoznC!vC!te, povaE>ujte email za
bezpEedmDtnC=.
----------xz50gykerx
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta http-equiv=„Content-Type“ content=„text/html;
charset=utf-8“>
<meta charset=„utf-8“>
<title>DokonD
enC- registrace Genesis</title>
</head>
<body>
<p>Dobry den,</p>
<p>Pro dokonD
enC- registrace C:D
tu s emailem: xxx@xxx.cz
kliknDte na tento odkaz: <a
href=„http://localhost/Projects/Genesis_web/web.sign/registration-confirm?code=htl2ug9bc8w5l1ldt1cuxdre875cpd“>aktivovat
C:D
et</a>.</p>
<p>V pEC-padD E>e tuto aktivitu nepoznC!vC!te, povaE>ujte email za
bezpEedmDtnC=.</p>
</body>
</html>
----------xz50gykerx–`
- iguana007
- Člen | 970
Dle tohoto smtp4dev nepodporuje UTF-8: https://github.com/…ev/issues/13 a mas misto toho zkusit treba https://github.com/…cem/FakeSMTP
- Ages
- Člen | 128
iguana007 napsal(a):
Dle tohoto smtp4dev nepodporuje UTF-8: https://github.com/…ev/issues/13 a mas misto toho zkusit treba https://github.com/…cem/FakeSMTP
@iguana007 Díky moc, já celou dobu hledal chybu někde v mém kódu a nenapadlo mě že to nepodporuje smtp4dev, u FakeSMTP je to již v pořádku.
Editoval Ages (18. 6. 2018 21:10)