Nette Mailer – nastavení encoding i pro tělo zprávy

Simtrix
Člen | 15
+
0
-

Zdravím,
mám tu trochu problém s odesíláním mailů na servery outlook.cz.

Situace všude jinde (převážně Gmail nebo dkimvalidator.com):

  • SPF 🟢
  • DKIM 🟢
  • DMARC 🟢

Situace na Outlook.cz:

  • SPF 🟢
  • DKIM fail – (body hash did not verify)

Což je s prominutím hloupost, protože všude jinde to funguje. Googlením jsem našel, že:

I found the issue. Outlook servers can not handle 8bit encoding when it comes to DKIM. I had to set the „Content-Transfer-Encoding“-Header to „quoted-printable“ in my mail-script (phpmailer in this case)

(zdroj: https://answers.microsoft.com/…a7b171297c03)

Když při vytváření mailů nastavím:


$message = new Message();
$message->setEncoding(MimePart::ENCODING_QUOTED_PRINTABLE);

dostanu v hlavičce mailu:

Content-Transfer-Encoding: quoted-printable

Ale v ostatních částech zůstává 8bit:

Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

Můžu nějak i tělu zprávy (nejen v hlavičce) nastavit jiný Encoding? 🤔

Simtrix
Člen | 15
+
0
-

Edit:

Imo chyba může být i v rozsypání obsahu. Jen netuším, proč se v jednom klientovi rozsype a v druhém ne. Netuší někdo, čím by to mohlo být způsobeno? charset je všude UTF-8, takže by české znaky měly být přechroustány správně.. :/

Na Gmailu:

----------juxi7rjlfy
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ahoj, tohle je testovací zpráva, která přišla z Vendoru.

S pozdravem

Tým Givery

--
partner@givery.cz <mailto:partner@givery.cz> (Po-Ne)
+420 222 990 000 (Po-Pá, 9-17)
----------juxi7rjlfy
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html lang="cs">
<head>
    <title>Testovací zpráva z vendor.givery</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
<p>Ahoj, tohle je testovací zpráva, která přišla z Vendoru.</p>


<p>
    S pozdravem<br><br>
    Tým Givery <br><br>
    -- <br>
    <a href="mailto:partner@givery.cz">partner@givery.cz</a> (Po-Ne)<br>
    +420 222 990 000 (Po-Pá, 9-17)
</p>
</body>

</html>
----------juxi7rjlfy--

Na Outlooku:

----------w7u21foim8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ahoj, tohle je testovacà zpráva, která přišla z Vendoru.

S pozdravem

Tým Givery

--
partner@givery.cz <mailto:partner@givery.cz> (Po-Ne)
+420 222 990 000 (Po-Pá, 9-17)
----------w7u21foim8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html><html lang="cs"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Testovacà zpráva z vendor.givery</title>

    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
<p>Ahoj, tohle je testovacà zpráva, která přišla z Vendoru.</p>


<p>
    S pozdravem<br><br>
    Tým Givery <br><br>
    -- <br>
    <a href="mailto:partner@givery.cz">partner@givery.cz</a> (Po-Ne)<br>
    +420 222 990 000 (Po-Pá, 9-17)
</p>
</body>

</html>
----------w7u21foim8--

Editoval Simtrix (17. 5. 2023 14:43)

Simtrix
Člen | 15
+
0
-

EDIT2:
Problém nebude v encodingu, ale úplně někde jinde. Když pošlu stejný mail přes PHPMailer, tak se v Outlooku tělo rozpadne úplně stejně, ale DKIM projde.

Tzn, že se tam děje něco jiného.

PHPMailer:


h=Date:From:Message-ID:MIME-Version:Content-Type:To:Subject;
Date: Thu, 18 May 2023 08:52:00 +0200
From: "Givery.cz" <info@givery.cz>
Message-ID: <HIMyze1A2HPm26bEKmh75tv4ZOBQ98Twr4pRt9kS9Q@is.givery.cz>
MIME-Version: 1.0
Content-Type: multipart/alternative;
To: v.zikmund@outlook.cz
Subject: =?utf-8?Q?Testovac=C3=AD_zpr=C3=A1va_z_Givery?=

--b1=_HIMyze1A2HPm26bEKmh75tv4ZOBQ98Twr4pRt9kS9Q
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Ahoj, tohle je testovacà zpráva - odesláno s
háčky a čárkami.

Děkuji :)

--b1=_HIMyze1A2HPm26bEKmh75tv4ZOBQ98Twr4pRt9kS9Q
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Ahoj, tohle je testovacà zpráva - odesláno s háčky a čárkami. <br>
<br>
Děkuji :)


--b1=_HIMyze1A2HPm26bEKmh75tv4ZOBQ98Twr4pRt9kS9Q--

Nette Mailer


h=From:Date:Message-ID:Content-Type;

From: "Givery.cz" <info@givery.cz>
Date: Thu, 18 May 2023 08:51:10 +0200
Message-ID: <107z9hjx2o@is.givery.cz>
Content-Type: multipart/alternative;
MIME-Version: 1.0
Subject: =?UTF-8?B?VGVzdG92YWPDrSB6cHLDoXZhIHogR2l2ZXJ5?=

----------6vqx77n24l
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ahoj, tohle je testovacà zpráva - odesláno s háčky a čárkami.

Děkuji :)
----------6vqx77n24l
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Ahoj, tohle je testovacà zpráva - odesláno s háčky a čárkami. <br>
<br>
Děkuji :)
----------6vqx77n24l--

Napadá mě, že NetteMailer nakonci odmázne nějaké prázdné řádky, které v PHPmaileru jsou.. tak možná, že by to mohlo být tím?

Editoval Simtrix (18. 5. 2023 9:22)

dakur
Člen | 493
+
0
-

Na tohle by asi bylo nejlepší pustit xdebug a prokrokokovat to řádek po řádku, co se tam děje a jak ta data vypadají ve které chvíli. Tím nejlíp zjistíš, kde je problém.