Python 如何将 pdf 文件附加到 MIME 电子邮件?
How to attach a pdf file to a MIME email in Python?
我正在制作一个自动邮件发送程序(在 Python 3.6.1 中)用于电子邮件营销。我在附加 PDF 文件时遇到问题。 PDF文件的文件名和页数在邮件中是正确的,但PDF文件总是空白,而且它的大小increases.I 尝试了三种不同的方法,其他两种方法都不行。最后我决定在这里问一下。感谢您的帮助。
message = MIMEMultipart()
message['Subject'] = "Attachment Test"
message['From'] = 'myemail'
message['Reply-to'] = 'myemail'
message['To'] = 'otheremail'
text = MIMEText("Message Body")
message.attach(text)
directory = "C:\ExamplePDF.pdf"
with open(directory, encoding = 'utf-8', errors = 'replace') as opened:
openedfile = opened.read()
attachedfile = MIMEApplication(openedfile, _subtype = "pdf", _encoder = encode_base64)
attachedfile.add_header('content-disposition', 'attachment', filename = "ExamplePDF.pdf")
message.attach(attachedfile)
server = SMTP("smtp.gmail.com:587")
server.ehlo()
server.starttls()
server.login("myemail", "password")
server.sendmail(message['From'], message['To'], message.as_string())
server.quit()
(答案取自评论)
以二进制模式阅读您的 PDF:
with open("file.pdf", "rb") as opened:
我正在制作一个自动邮件发送程序(在 Python 3.6.1 中)用于电子邮件营销。我在附加 PDF 文件时遇到问题。 PDF文件的文件名和页数在邮件中是正确的,但PDF文件总是空白,而且它的大小increases.I 尝试了三种不同的方法,其他两种方法都不行。最后我决定在这里问一下。感谢您的帮助。
message = MIMEMultipart()
message['Subject'] = "Attachment Test"
message['From'] = 'myemail'
message['Reply-to'] = 'myemail'
message['To'] = 'otheremail'
text = MIMEText("Message Body")
message.attach(text)
directory = "C:\ExamplePDF.pdf"
with open(directory, encoding = 'utf-8', errors = 'replace') as opened:
openedfile = opened.read()
attachedfile = MIMEApplication(openedfile, _subtype = "pdf", _encoder = encode_base64)
attachedfile.add_header('content-disposition', 'attachment', filename = "ExamplePDF.pdf")
message.attach(attachedfile)
server = SMTP("smtp.gmail.com:587")
server.ehlo()
server.starttls()
server.login("myemail", "password")
server.sendmail(message['From'], message['To'], message.as_string())
server.quit()
(答案取自评论)
以二进制模式阅读您的 PDF:
with open("file.pdf", "rb") as opened: