Django開発版にunicodeブランチがマージされました | Top | reblog.rhaco.org

 

ブラックホールSMTPD再び

テスト時に何でも飲み込んでくれるSMTPサーバが欲しいと思ったことないですか?

これはそんなSMTPサーバです。
ノットテステッドなステータスですが、興味があったら試してみてください。

興味がある人がいたら、使ってみてコメントください。もう少しきちんとします :)


必要なもの

手抜きでsetを使っているため、Pythonの2.4以上が必要です。
また、unicodeブランチマージ後のDjango最新svn版が必要です。7/5以降にsvn(HEAD)からチェックアウトしたものであれば動くはずです。
利用するデータベースは変更できますが、sqlite3を使うように設定してあります。


特徴

受け付けたメールをデータベースに保存します。
受けたメールは、Djangoの管理インターフェースを使って内容を確認できます。
生ヘッダとデコード後のヘッダ、生ボディとデコード後のボディ、サブジェクト等がみられるため、デバッグに利用できます。ただし現在は、OSXのMail.appのように複数の添付ファイルの間に本文を挟めるようなメールの形式の場合、最後の本文しか保存されません。

実際に送信するメールアドレスを設定できます。
ほとんどのメールアドレスはテスト用のダミーアドレスとして、開発メンバーにだけ送信ということができます。
リレーする本物のSMTPサーバをBlackHoleSmtpd.pyに記述しなければなりません。メールアドレスの設定はDjangoの管理インターフェースからできますが、現時点ではブラックホールSMTPサーバの再起動が必要です。

添付ファイルの確認ができます。
添付ファイルはメールのidが付与されてattachディレクトリに保存されます。管理インターフェースからじかに開けます。


簡単な使い方

zipファイルを展開後、djblackholeディレクトリ内でsyncdbしてデータベースを作成します。忘れずに管理者ユーザを作成してください。

python manage.py syncdb


Djangoを起動します。

python manage.py runserver


スクリプトからDjangoのモデルを利用しますので、もう一枚シェルを開き、同じディレクトリで環境変数を設定します。

export DJANGO_SETTINGS_MODULE=settings


SMTPサーバを起動します。SMTPプロトコルを利用するのでroot権限が必要です。

sudo python BlackHoleSmtpd.py


localhostの25番でSMTPサーバが、localhostの8000番でメールの状況が確認できます。

Taged with:,,,

urihttp://www.everes.net/2007/jul/06/djblackhole/

Entry Date:2007-07-06 01:31

Author:makoto

ping url:http://www.everes.net/2007/jul/06/djblackhole/tbping/

subscribe:feed with LDR

Comments

1 by cloneko

01:40 on

2008-05-24

はじめまして。丁度開発用に需要があり、使わせていただきました。ありがとうございます。

バグ(?というかSQLiteの問題というか)があるようですのでblogで回避法とか書いてみました。

直される機会がありましたら直していただければと思います

2 by makoto

12:09 on

2008-05-26

clonekoさんありがとうございます。
興味のある人がとうとう登場したので、もう少しきちんとしたいと思います。
http://d.hatena.ne.jp/cloneko/20080524/1211560154

Add Comment

コメント追加








What's Next
Tags
Blog Archive
Project
  • » pymagnolia

    ma.gnolia.comのAPIを操作するPythonライブラリ。

  • » django-ja

    Djangoと日本の仲間たち。
    Djangoに関するニュースや、「仲間たち」のブログエントリをアグリゲートしています。

  • » rhaco

    PHPのWebフレームワーク。 PHPらしさを失わず直感的に記述できることを目指している。 Djangoと同じく、他のライブラリに依存しない。また、Djangoっぽいテンプレートの作り方も可能。

  • » Tracka

    スモールチーム、家族用の知共有ウェブアプリケーション。
    テキスト、画像、youtube動画、stage6動画等をトラック!

  • » BMO

    BMOは、本、CD、DVD、ゲームに印刷されているバーコードをiSightで読み取り、AmazonのAPIを利用して画像や情報をmacに保存します。iSightのついているmacで利用してください。Leopardと呼ばれているOSX 10.5以上が必要です。 保存した情報は、OSX Leopard(10.5)から搭載されたCover FlowとQuick Lookという仕組みを利用して表示します。