2017-06-06 5 views
1

電子メールマーケティングで使用する自動メール送信プログラム(Python 3.6.1)を作成しています。私はPDFファイルを添付している問題があります。 PDFファイルのファイル名とページ数はメールでは正しいですが、PDFファイルは常に空白でサイズが大きくなります。私は3つの方法を試しましたが、他の2つの方法は機能しませんでした。最後に私はここでそれを聞くことにしました。ご協力いただきありがとうございます。PythonでMIMEメールにpdfファイルを添付するにはどうすればいいですか?

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() 
+1

はバイナリモードであなたのPDFを読む: 'オープンと( "file.pdf"、 "RB")など開いた: '... – zwer

+1

ありがとう、それは働いた! – SamIsc

+0

これを回答として追加し、他の人が受け入れやすいとマークして簡単に見つけることができます。 – bastelflp

答えて

0

(コメントから取ら回答)
バイナリモードであなたのPDFを読む:
with open("file.pdf", "rb") as opened:

関連する問題