メール送信 | Python-izm

メール送信

Pythonメールの送信を行う方法です。文字コードに注意をすれば、比較的簡単に実現出来ますので覚えておくと良いでしょう。

smtplib

8行目、9行目で送信元アドレス、送信先アドレスを指定します。11行目では日本語環境におけるメール送受信で一般的に用いられている文字コードiso-2022-jpを指定します。15行目から19行目で各情報を設定していますが、19行目のlocaltime=Trueを指定しないとJSTとならないので注意しましょう。19行目でSMTPサーバの指定を行いメールを送信します。

import smtplib

from email.mime.text import MIMEText
from email.header import Header
from email.utils import formatdate


from_address = 'from@xxx.xx.jp'
to_address = 'to@xxx.xx.jp'

charset = 'ISO-2022-JP'
subject = 'メールの件名です'
text = 'メールの本文です'

msg = MIMEText(text, 'plain', charset)
msg['Subject'] = Header(subject, charset)
msg['From'] = from_address
msg['To'] = to_address
msg['Date'] = formatdate(localtime=True)

smtp = smtplib.SMTP('xxx.xx.jp')
smtp.sendmail(from_address, to_address, msg.as_string())
smtp.close()