Saturday, April 19, 2008

Sending Email with japanese text(Python)


# -*- coding: utf-8 -*-
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

import accountfile

ID = accountfile.id # etc "yourname@gmail.com"
PASSWORD = accountfile.password
TO = accountfile.to #etc "spam@spam.spam"

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

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
return msg

if __name__ == '__main__':
from_addr = ID
to_addr = TO
SUBJECT = "test"
MESSAGE = open('mailbody.txt').read()
msg = create_message(from_addr, to_addr, SUBJECT, MESSAGE, 'ISO-2022-JP')
send_via_gmail(from_addr, to_addr, msg)

---
References:
effbot http://effbot.org/librarybook/smtplib.htm
aspn http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52243
UnoLabs http://labs.unoh.net/2007/06/python_2.html
about JIS http://www.kanzaki.com/docs/jis-mail.html#JIS

Thursday, April 10, 2008