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で送信する場合
ついでに、日本語のエンコーディングと日付のローカル化
# -*- coding: utf-8 -*- import smtplib import email.mime.text import email.header import email.utils #引数subjectとtextは日本語が含まれているときはUnicodeで渡す 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]実行すると件名が表示される
詳細はドキュメントで
0 件のコメント:
コメントを投稿