«

»

8月 02

Print this 投稿

Pythonでメール送受信

毎回調べている気がするのでmemo.
Python 2.7.2でメールの送受信スニペット.

# -*- coding: utf-8 -*-
#!/usr/bin/env python

from email.mime.text import MIMEText
import smtplib
import poplib
import email

def main():
    body = 'こんにちは,世界'
    body = body.decode('utf-8').encode('iso-2022-jp')
    m = MIMEText(body, 'plain', 'iso-2022-jp')
    m['To'] = 'receiver@hoge.com'
    m['Subject'] = 'Test mail from Python'

    send(m)

    receive()

def send(m):
    serv = smtplib.SMTP('smtpserver.com', 25)
    serv.sendmail('sender@hoge.com', 'receiver@hoge.com', m.as_string())
    serv.close()

def receive():
    pop3 = poplib.POP3('pop3server.com')
    pop3.user('username')
    pop3.pass_('password')
    # print pop3.stat
    num = len(pop3.list()[1])
    for i in range(num):
        for j in pop3.retr(i+1)[1]:
            print j
    pop3.quit()

if __name__ == '__main__':
    main()

実際は受信したメールをencodeしてあげたり,エラー処理してあげたりしないといけない.
さらに設定を外部ファイル化して,受信したメールをそのままredirectするとこまで作るつもり.

Similar Posts:

Share on Facebook
Pythonでメール送受信b - log

Permanent link to this article: http://bellonieta.net/2011/08/python%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e5%8f%97%e4%bf%a1/

コメントを残す

メールアドレスは公開されません