Python使用附件发送电子邮件

时间:2014-09-15 14:11:21

标签: python email python-2.7 mime

我正在测试Python,学习如何使用它。

最近,我一直在测试使用SMTP发送电子邮件的不同方式,没有附件和附件。

到目前为止,在阅读了Stackoverflow上的Python文档和其他主题之后,我得到了我需要的东西,现在可以发送带附件的电子邮件了,伙计我!

我偶然发现了这个页面http://www.tutorialspoint.com/python/python_sending_email.htm,它提供了我看起来的样子,另一种附加文件的方式。

之前我在脚本中使用过这个文件,我要附加4个文件(希望我能正确插入代码):

   for f in attach:
    part = MIMEBase('application', 'octet-stream')
    part.set_payload(open(f, 'rb').read())
    Encoders.encode_base64(part)
    part.add_header('Content-Disposition','attachment; filename="%s"' % os.path.basename(f))
    msg.attach(part)

但上面发布的教程使用了不同的方式,我尝试了它,因为为什么不,只需复制并粘贴并输入我的电子邮件,SMTP只是为了看到它的实际效果,然后尝试更改。但是,最后一点代码:

message = part1 + part2 + part3

..不起作用。我的SMTP拒绝说[ERNO10053]。只发送一个部分就可以了。

熟悉Python的人能否向我解释使用边界意味着什么?我可以看到它是" - "然后是一个独特的标记。但我真的不明白为什么你需要它们,并且真的在这个剧本中发生了什么。

我是新手。

干杯!

1 个答案:

答案 0 :(得分:0)

此边界是MIME specification的一部分。它们用作附件之间的分隔符。

错误10053表示连接中止。