適当なブログ

2008-11-02 (Sun)

メールをどこにも送らずテキストで保存するSMTPサーバをPythonで書いてみた

メールをどこにも送らずHTMLで保存するSMTPサーバ mocksmtpd.rb - こせきの技術日記ホッテントリに入っていたので同じような物をPythonで書いてみた。

メールを受信すると1225602012.txtみたいなファイル名で保存される。

import asyncore
import smtpd
from email import message_from_string
from time import time

class MySMTPServer(smtpd.SMTPServer):
    def process_message(self, peer, mailfrom, rcpttos, data):
        msg = message_from_string(data)
        open(str(int(time()))+'.txt', 'w').write(msg.as_string())

if __name__ == '__main__':
    MySMTPServer(('localhost', 25), None)
    asyncore.loop()

( ゚∀゚)o彡°Python!Python!

kosekikoseki 2008/11/04 16:28 テキストじゃなくHTMLをindexとメール単体の2種類作って、URLをリンクに変換して、デーモンとコンソールの2種類の起動方法を切り替えられるようにして、ログファイルを作ったりファイル名の可読性を上げたりすると「同じような物」になると思うんですけど、たぶんpythonで書いても同じくらいの長さになるんじゃないですかねー。

でも、標準でSMTPサーバがついてくるのはちょっと便利かもと思いました。標準出力に出すだけならワンライナーでも書けるみたいですねー。

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/watanabe_t/20080808/1218175319#bookmark-user-znz

ゲスト


おとなり日記
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |