Problém s kódováním emailu UTF8

Ages
Člen | 128
+
0
-

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)

iguana007
Člen | 970
+
0
-

Muzes sem hodit originalni zdrojak mailu, jak ti to dorazi do postovniho klienta (tj. vcetne hlavicek apod.)?

Ages
Člen | 128
+
0
-

@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
+
+1
-

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
+
+1
-

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)