end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

pythonによるGmail SMTP送信

d.hatena.ne.jp 以前、perlで同様のエントリを記載していますが、今回は以下の通り、python版。

#!/usr/local/bin/python
# -*- coding: utf-8 -*-

import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email.Header import Header

SMTP_CONF = {"USER":   '????????@gmail.com',
             "PASS":   '????????',
             "HOST":   'smtp.gmail.com',
             "PORT":   '587',
             "CHARSET":'iso-2022-jp'
             }
# gmailでsmtpするなら、アプリ専用passwdを発行しましょう
# https://security.google.com/settings/security/apppasswords

def sendMail():
    mailTo  = ['????????@gmail.com' ]
    subject = u'これはテストです'

    body = u'''
これはテストです。
本文です。無視して下さい。
'''
    msg = MIMEText(body.encode(SMTP_CONF['CHARSET']),
                   'plain',
                   SMTP_CONF['CHARSET'])
    msg['From'] = SMTP_CONF['USER']
    msg['To']   = ','.join(mailTo)
    msg['Date'] = formatdate()
    msg['Subject'] = Header(subject.encode(SMTP_CONF['CHARSET']), SMTP_CONF['CHARSET'])

    smtpobj = smtplib.SMTP(SMTP_CONF['HOST'], SMTP_CONF['PORT'])
    smtpobj.ehlo()
    smtpobj.starttls()
    smtpobj.ehlo()
    smtpobj.login(SMTP_CONF['USER'], SMTP_CONF['PASS'])
    smtpobj.sendmail(SMTP_CONF['USER'], mailTo, msg.as_string())
    smtpobj.close()

sendMail()