読者です 読者をやめる 読者になる 読者になる

email.Utilsの便利な関数

Python

Python標準ドキュメントの「email.Utils 雑用ユーティリティ」を眺めていて、いろいろ便利な関数があることに気が付きました。

parseaddr

メールアドレスの実名部分とメールアドレス部分を切り出す関数。

>>> from email.Utils import parseaddr
>>> parseaddr('spam <spam@example.com>')
('spam', 'spam@example.com')

同じことをする関数を自分で書いていたので、今後はこちらを使いたいところです。

formatdate

RFC 2822形式の日付を文字列で返す関数。
オプションの引数usegmt=Trueを使うと、タイムゾーンを-0000の形式ではなく、GMTで返すので、HTTPヘッダーで使うのに便利そうです。

>>> from email.Utils import formatdate
>>> formatdate()
'Fri, 15 Jun 2007 03:50:07 -0000'
>>> formatdate(usegmt=True)
'Fri, 15 Jun 2007 03:50:11 GMT'

make_msgid

Message-IDを算出する関数。

>>> from email.Utils import make_msgid
>>> make_msgid('perezvon')
'<20070615035257.13251.29772.perezvon@perezvon.net>'

この関数が標準ライブラリに含まれているならば、標準ドキュメントのメール送信の例でもMessage-IDをつけるようにしてほしいもの。僕も、こいつを直しておくかな。

まとめ

ドキュメントはちゃんと読もう。