我知道在这个论坛和Google上有很多关于如何使用Python发送邮件的主题提供了很多方法来实现,但我没有找到类似的案例。 (还没?)
目标很简单。我有一个在服务器上运行的应用程序,我希望它能够在出现问题时向我发送带附件(日志片段)的电子邮件。
在这台服务器上,我有两件事,我的应用程序和Apache James SMTP服务器。 (配置良好)
我已经按照RFC2046(https://tools.ietf.org/html/rfc2046#section-5.1.1)和RFC2049(https://tools.ietf.org/html/rfc2049#page-6)来编写我的邮件模型。
我的发送代码如下:
from smtplib import SMTP
msg = """From: My application <my.user@application.com>
To: Me <me@domain.com>
Subject: Problem occurs
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="047d8b343442ecdacb0503b7c114"
--047d8b343442ecdacb0503b7c114a
Content-type: text/plain; charset=us-ascii
My text here
--047d8b343442ecdacb0503b7c114
Content-type: application/x-bzip2; name="fid08_01.tar.bz2"
Content-Disposition: attachment; filename="fid08_01.tar.bz2"
Content-Transfer-Encoding: base64
H4sIALIjI1QAA+0Za2/bRtJfXaD/YU4F5DvAEh96W5Lb
--047d8b343442ecdacb0503b7c114--
"""
if __name__ == "__main__":
server = SMTP('127.0.0.1', PORT)
server.set_debuglevel(True)
server.sendmail('my.user@application.com', ['me@domain.com'], msg)
server.quit()
问题是邮件永远不会到达我的邮箱(垃圾邮件或收件箱)或花费很长时间(几小时到几天)
我已尝试使用电子邮件Python模块,但会出现相同的行为。
对于每封邮件,James返回所有邮件都成功完成(在日志中)。
有人有线索要帮助我吗?
感谢阅读。
克劳德