![](/img/trans.png)
[英]Outlook and Thunderbird do not receive attachment when I send from Python using Mime
[英]How to send Attachments to Thunderbird when sending email using MIME in python?
I am trying to send emails from Python using MIME, Emails are working fine as well as Attachments also displayed on web email, but doesn't appear in Email Client like Thunderbird.
这是我写的代码
#!/usr/bin/python
import smtplib
from smtplib import SMTPException
import base64
filename = "ticketexport.csv"
fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent)
sender = 'erp@at.biz'
receivers = ["shravya@at.biz"]
marker = "AUNIQUEMARKER"
body ="""
LO CUSTOMER SUPPORT TICKETS.
"""
part1 = """From: AT <erp@atc.erp>
To: SS<shravya@at.biz>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)
part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit
%s
--%s
""" % (body,marker)
# Define the attachment section
part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s
%s
--%s--
""" %(filename, filename, encodedcontent, marker)
message = part1 + part2 + part3
try:
smtpObj = smtplib.SMTP_SSL('smtp.gmail.com', 465)
smtpObj.login('erp@at.biz', 'jklO4d')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException as e:
print(e)
print "Error: unable to send email"
任何帮助肯定意义重大。 我非常接近这一点。
关闭——MIME 编码规则非常挑剔。
在part1
中, Content-Type
和第一个标记之间需要有一个空行。
在part3
中, Content-Type
应该是application/octet-stream
。 该部分不是多部分的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.