2011年12月12日月曜日

python からgmail でメイル送信

面倒かな、と思って検索したらこちらに全部書いてあった。ありがたや、ありがたや。
# -*- coding: utf-8 -*-
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate
import getpass

def create_message(from_addr, to_addr, subject, body, encoding):
    msg = MIMEText(body, 'plain', encoding)
    msg['Subject'] = Header(subject, encoding)
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()
    return msg

def send_via_gmail(from_addr, to_addr, msg, passwd):
    s = smtplib.SMTP('smtp.gmail.com', 587)
    s.ehlo()
    s.starttls()
    s.ehlo()
    s.login(from_addr, passwd)
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()

if __name__ == '__main__':
    from_addr = 'hoge@gmail.com'
    to_addr = 'target@example.com'
    passwd=getpass.getpass("password for %s:" % (from_addr))
    msg = create_message(from_addr, to_addr, u'テスト', u'本文', 'ISO-2022-JP')
    send_via_gmail(from_addr, to_addr, msg, passwd)

0 件のコメント: