SwiftMail 生成的电子邮件在多部分电子邮件中显示 text/plain 部分而不是 gmail 中的 text/html
SwiftMail generated email shows text/plain part in multipart email rather than text/html in gmail
我正在使用以下内容生成 SwiftMail 消息(请原谅包装器)
$message = $mailHelper->createMessage(); // This is an instance of Swift_Message
$message->setTo($addresses)
->setFrom([$template->getEmail() => $template->getName()])
->setSubject($template->getSubject())
->setBody($template->getTextContent($twig, $replacements), 'text/plain');
$message->addPart($template->getHtmlContent($twig, $replacements), 'text/html');
$mailHelper->sendMessage($message)
我收到的邮件正常,但在 gmail 中显示的是文本版本。所有编码对我来说都是正确的。
Return-Path: <[email]>
Received: from [127.0.0.1] (ec2-54-149-246-93.us-west-2.compute.amazonaws.com. [54.149.246.93])
by smtp.gmail.com with ESMTPSA id kv7sm1686300pab.20.2015.09.10.09.11.03
for <[email]>
(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
Thu, 10 Sep 2015 09:11:04 -0700 (PDT)
Message-ID: <bf6b3e989767a5cab5ebf8ddbfc27040@swift.generated>
Date: Thu, 10 Sep 2015 16:11:03 +0000
Subject: Welcome to [App]
From: [Company] <[email]>
To: "[email]" <[email]>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_"
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
[url]
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<a href=3D"app://[url]">[url]</a>
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_--
原来有两个错误。
1) 在 href 中使用自定义模式(我从上面的示例中删除了它,因为我认为它很敏感)。我猜 gmail 认为该架构很危险,然后删除了锚点。这其实是一件好事。
2) 事实上我看到的是 html 版本的内容,唯一剩下的就是 url,这也是文本版本中的内容。
TL;DR: 不要在电子邮件中为您的移动应用程序使用自定义架构。先通过浏览器路由。
我正在使用以下内容生成 SwiftMail 消息(请原谅包装器)
$message = $mailHelper->createMessage(); // This is an instance of Swift_Message
$message->setTo($addresses)
->setFrom([$template->getEmail() => $template->getName()])
->setSubject($template->getSubject())
->setBody($template->getTextContent($twig, $replacements), 'text/plain');
$message->addPart($template->getHtmlContent($twig, $replacements), 'text/html');
$mailHelper->sendMessage($message)
我收到的邮件正常,但在 gmail 中显示的是文本版本。所有编码对我来说都是正确的。
Return-Path: <[email]>
Received: from [127.0.0.1] (ec2-54-149-246-93.us-west-2.compute.amazonaws.com. [54.149.246.93])
by smtp.gmail.com with ESMTPSA id kv7sm1686300pab.20.2015.09.10.09.11.03
for <[email]>
(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
Thu, 10 Sep 2015 09:11:04 -0700 (PDT)
Message-ID: <bf6b3e989767a5cab5ebf8ddbfc27040@swift.generated>
Date: Thu, 10 Sep 2015 16:11:03 +0000
Subject: Welcome to [App]
From: [Company] <[email]>
To: "[email]" <[email]>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_"
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
[url]
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<a href=3D"app://[url]">[url]</a>
--_=_swift_v4_1441901463_d2266ae39e8919de6200347d60861abb_=_--
原来有两个错误。
1) 在 href 中使用自定义模式(我从上面的示例中删除了它,因为我认为它很敏感)。我猜 gmail 认为该架构很危险,然后删除了锚点。这其实是一件好事。
2) 事实上我看到的是 html 版本的内容,唯一剩下的就是 url,这也是文本版本中的内容。
TL;DR: 不要在电子邮件中为您的移动应用程序使用自定义架构。先通过浏览器路由。