はじめに
エンジニアとしてのアウトプット習慣をつけるため、なるべく毎日なにかしらの記事を投稿していこうと思います。
業務で使うわけではないですが、興味があったためpythonでメールを扱う方法を調べることにしました。
python
のimaplib
についていくらか自分で調べた内容をまとめようと思います。
まとめるとは言えど、公式ドキュメントのほぼそのまんまを記事になるのかも…
IMAPクライアントインスタンスの作成
ほかのQiita記事にもあるが、imaplib.IMAP4_SSL
を使いIMAPクライアントインスタンスをつくる。
このときの引数にはhost='', port=IMAP4_PORT,ssl_context=
を指定する必要があり、Yahooメールの場合
host = "imap.mail.yahoo.co.jp"
port = ("ssl", 993)
ssl_context = ssl.create_default_context()
となる。なんでかは調べてません。
ライブラリオブジェクト
受信メールの基本操作をしようとするとき使用しそうなオブジェクトをざっと調べました。
オブジェクト名 | 説明 | 使用例 |
---|---|---|
login(user,password) | ログイン。メールのアカウント情報を入力すればOK | IMAP4.login('AAAA@yahoo.co.jp','password') |
logout() | ログアウト。引数なし | IMAP4.logout() |
select(mailbox='INBOX', readonly=False) | メールボックスを選択。ReadonlyをTrueにすると変更をかけられなくなる | IMAP4.select(mailbox='onlyfive') |
fetch(message_set, message_parts) | メッセージの一部を取り寄せる。message_setはバイト型の数字、message_partsはッセージパートの名前を表す文字列を丸括弧で囲ったもの。 | IMAP4.fetch(b'1', '(RFC822)') |
短いですが、今日はここまで。