import smtplib
import email.mime.text
def send_mail(to, from_="", subject="", text=""):
msg = email.mime.text.MIMEText(text)
msg["Subject"] = subject
msg["From"] = from_
msg["To"] = to
s = smtplib.SMTP("localhost")
s.sendmail(from_, [to], msg.as_string())
s.quit()
Gmailで送信する場合
ついでに、日本語のエンコーディングと日付のローカル化
import smtplib
import email.mime.text
import email.header
import email.utils
def send_mail_from_gmail(to, user, password, subject="", text="", encoding="ISO-2022-JP"):
msg = email.mime.text.MIMEText(text.encode(encoding), "plain", encoding)
msg["Date"] = email.utils.formatdate(localtime=True)
msg["Subject"] = email.header.Header(subject, encoding)
msg["From"] = user
msg["To"] = to
s = smtplib.SMTP()
s.connect("smtp.gmail.com", 587)
s.starttls()
s.login(user, password)
s.sendmail(user, [to], msg.as_string())
s.close()
ついでにメールボックスの操作
import mailbox
import email.header
for msg in mailbox.Maildir("/home/yoshi/Maildir"):
h = email.header.decode_header(msg["Subject"])[0]
print h[0]
実行すると件名が表示される
詳細はドキュメントで