web-dev-qa-db-ja.com

PythonでPDF添付ファイル付きのメールを送信するにはどうすればよいですか?

重複の可能性:
Pythonで電子メールの添付ファイルを送信する方法

次のコードを編集して、添付ファイル付きのメールを送信したいと思います。添付ファイルはPDFファイルで、Linux環境では/home/myuser/sample.pdfの下にあります。以下で何を変更する必要がありますか?

import smtplib  
fromaddr = '[email protected]'  
toaddrs  = '[email protected]'  
msg = 'Hello'  


# Credentials (if needed)  
username = 'myemail'  
password = 'yyyyyy'  

# The actual mail send  
server = smtplib.SMTP('smtp.gmail.com:587')  
server.starttls()  
server.login(username,password)  
server.sendmail(fromaddr, toaddrs, msg)  
server.quit()  
6
alwbtc

この場合、メールパッケージを使用してメッセージを作成します-

from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
msg = MIMEMultipart()
msg.attach(MIMEText(open("/home/myuser/sample.pdf").read()))

その後、メッセージを送信します。

import smtplib
mailer = smtplib.SMTP()
mailer.connect()
mailer.sendmail(from_, to, msg.as_string())
mailer.close()

ここにいくつかの例- http://docs.python.org/library/email-examples.html

[〜#〜]更新[〜#〜]

上記のようにリンクを更新すると、404 https://docs.python.org/2/library/email-examples.html になります。ありがとう@Tshirtman

13
verisimilitude

推奨される方法は、適切にフォーマットされたMIMEメッセージを作成するために、Pythonのemailモジュールを使用することです。ドキュメントを参照してください

python 2
https://docs.python.org/2/library/email-examples.html

python 3
https://docs.python.org/3/library/email.examples.html

4
Andreas Jung