Python发送带有附件的电子邮件

Python发送带有附件的电子邮件,python,email,python-2.7,mime,Python,Email,Python 2.7,Mime,我正在测试Python,学习如何使用它 最近,我一直在测试使用SMTP发送电子邮件的不同方式,包括不带附件和带附件 到目前为止,在阅读了Python文档和Stackoverflow上的其他主题之后,我得到了我需要的东西,现在可以发送带有附件的电子邮件了,耶 我无意中发现了这个页面,它提供了另一种附加文件的方式 我以前在一个脚本中使用过这个,其中我要附加4个文件,希望我能正确插入代码: for f in attach: part = MIMEBase('application', '

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

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

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

我无意中发现了这个页面,它提供了另一种附加文件的方式

我以前在一个脚本中使用过这个,其中我要附加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更熟悉的人向我解释一下使用边界的含义?我可以看到它后面是一个独特的标记。但我真的不明白你为什么需要它们,以及这个剧本里到底发生了什么

我是新手


干杯

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


错误意味着连接中止。

因此,请查找smtp服务器错误10053是什么。这是一个好主意,可以。我认为您正在查找有关的文档,应该将问题标记为。看起来像是服务器端阻塞。这可能是由邮件服务器防病毒软件引起的。或服务器拒绝了某些类型的文件。尝试使用不同类型的文件.doc、.jpg等。我尝试更改为不同的文件。如果我只发送包含编码内容的第3部分,那么它可以处理任何文件。但是当我匹配教程中提到的三个部分时,我得到了这个错误。我真的不明白边界,标记的事情。谢谢你的链接!