我正在开发一个使用PHP的邮件系统。我非常接近完成,因为除了Outlook(我目前正在Outlook 2010中测试,在Windows 7上),它一切正常。
电子邮件是Traceback (most recent call last):
File "D:/learn/suojin.py", line 5, in <module>
from flask import Flask
File "C:\Python27\lib\site-packages\flask-0.10.1-py2.7.egg\flask\__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
File "C:\Python27\lib\site-packages\werkzeug\__init__.py", line 154, in <module>
__import__('werkzeug.exceptions')
File "C:\Python27\lib\site-packages\werkzeug\exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "C:\Python27\lib\site-packages\werkzeug\wrappers.py", line 26, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "C:\Python27\lib\site-packages\werkzeug\http.py", line 24, in <module>
from email.Utils import parsedate_tz
ImportError: No module named Utils
;它包含一组multipart/mixed
个HTML和纯文本替代品以及可选的附件。这一切都被正确发送,如果我检查Gmail中的原始标题,它看起来应该看起来。但是,如果我在Outlook上检查原始标题,它会在multipart/alternative
- 声明之后切断任何内容。我在这里包含了标题。我简化了它们;剥离实际的纯文本,html,emailaddresses,并简化边界。 Gmail向我展示的标题看起来有点像这样:
multipart/mixed
Outlook向我展示的标题,看起来有点像这样:
(... information about receiving by the server ...)
To: "Hidden recipients" <noreply@domain.com>
Subject: Een BCC
From: "My Name"<my@email.com>
Reply-To: my@email.com
Date: Sun, 19 Jul 2015 14:16:31 +0000
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="PHP-mixed"
This is a message with multiple parts in MIME format.
--PHP-mixed
Content-Type: multipart/alternative; boundary="PHP-alt"
--PHP-alt
Content-type:text/plain;charset=utf-8
Content-Transfer-Encoding: quoted-printable
... here's the plain text alternative
--PHP-alt
Content-type: text/html;charset=utf-8
Content-Transfer-Encoding: quoted-printable
... here's the html-formatted text
--PHP-alt--
--PHP-mixed--
我的问题是,这是怎么发生的,我该如何解决这个问题呢?为什么Gmail会很好地播放,而Outlook则不然?
答案 0 :(得分:1)
Outlook会显示它应显示的内容:MIME 标题。它不显示整个MIME消息。邮件本身是否由Outlook正确显示?
答案 1 :(得分:0)
为了提及遇到类似我的问题的人,我发布了这个答案。由于许多其他SO问题与通过PHP状态发送邮件有关,因此建议使用其他库。存在许多库,您可以在这些库之间进行选择。
正如Mario在此问题的评论中所述,建议使用库发送更高级的电子邮件!对我来说,编写正确的标题是一件非常痛苦的事情,这些库很容易使用,并且你可能最终会得到比构建自己的“邮件库”更好的结果。
我觉得PHPMailer易于实现;只是将代码复制到我的目录工作!我不确定SwiftMailer,但我猜它的工作原理类似。
底线:不要固执,使用库! :-)