2010-11-18 12 views
4

アプリケーションの電子メールによるアプリケーションメッセージングの実験私はすでに私のSMTPサーバーを作成しましたが、現在は集中配信メカニズムがありません。私は非常に簡単に適切な配信メカニズムを作成できますが、私はプロトコル標準を使用しようとしています。私はHTTP、FTPまたはSOAPに興味がなく、メールプロトコルだけに興味があります。Pythonで書かれたPOP3サーバまたはIMAPサーバの例が必要

私はPythonの例のためにネットの周りを見てきましたが、これまで運がありません。電子メールシステム上での非同期配信がアプリケーション間の通信の実現可能なアプローチであるかどうかを確認するために、現時点で唯一の技術分野の調査として、これに多大な時間と労力を費やしたくありません。私はsendmailソリューションについて知っていますが、これは興味がありません。ソリューションは、可能であれば "バッテリー"を使用してPythonソリューションを使いこなす必要があります。

私がこれまで見てきた唯一の2つの標準はIMAPとPOPです。私はまだ、この日にはメールの送信と配信に2つのプロトコルが必要だと信じられません。

さらに調査した後、私はこれで任意のヘルプは素晴らしい

更新 だろう、唯一の実行可能な選択肢がねじれされるだろうと思いますが、POP/IMAPサーバー上のすべての少しをあきらめました非常に少ない報酬のために働くには多すぎる。しかし、私はIMAP4として電子メールを提供し、SMTPとして送信する「オフシェルフ」サーバーソリューションを使用しました。これを見つけたので、Email over Application Servicesの調査を続けます。これまで、RSSフィードをダウンロードしてHTML形式で電子メールで送信するアプリケーションを作成しました。電子メールは、Pythonで書かれたサーバーアプリケーションが興味を持っているコンテンツ用にフィルタリングされています。次の段階は、電子メールでTelnetのようなサーバーと通信するDSL言語です。楽しかったです。その後、複数のアプリケーション間での電子メールによるRPC。

答えて

4

編集: POP3サーバーの簡単な例がここにあります:http://code.activestate.com/recipes/534131-pypopper-python-pop3-server/メッセージ配信メカニズムを置き換える必要がありますが、それはどうにかする必要があります。 Twistedを使用するIMAPサーバーの実装については、https://github.com/davglass/twimapdを参照してください。

メールが必要な場合は、SMTP、POP、IMAPが表示されます。それは定義どおりの電子メールです。

実際には、配信にはSMTPで十分です。 POP/IMAPは検索のためのものであり、アプリケーションが常に直接相互に接続できる場合はそれほど有用ではありません。 http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

+0

ありがとうございます。しかし、質問を逃した。 POPまたはIMAPのPythonの例がありますか? – WeNeedAnswers

+0

あなたの応答に+1をください。私はtwimapdをチェックアウトしましたが、twitterメッセージを配信し、実際には「適切な」IMAPサーバを動作させていませんでした。正しく動作させるには、いくつかの作業が必要です。 – WeNeedAnswers

1

商はツイストに基づいて電子メールのサポートが含まメッセージングサーバです:あなたは、特に電子メールを使用する必要がない場合

は、あなたは、このようなXMPP(Jabberの)などの代替プロトコルに見たいと思うかもしれません。数年前、開発は新しいデータベースレイヤーから始められ、最新のバージョンはSMTPPOP3をサポートしています。しかし、古いバージョンはIMAP4をサポートしています。

+0

ありがとうございます。 – WeNeedAnswers

+0

0.30、メールサーバーの初期段階です。オープンソースの「棚から離れて」私はそれに固執すると思う。私が最初にしたことは、Pythonサーバーでした。プラグインなどを注入することができました。私はそれを見つけることができなかったので、自分自身を書くつもりでした。 SMTPのビットは "バッテリー"で駄目でしたが、IMAP /ポップはあまりにも面倒でした。 – WeNeedAnswers

2

私は、アプリケーション通信用の簡単な電子メールベースのメッセージキューを作成しました。ここで詳細を見つけることができますhttp://blog.bootstraptoday.com/2010/11/28/really-simple-python-message-queue/

基本的な考え方は です。1. smtpd.SMTPServerからクラスを派生させます。 2. 'process_message'メソッドをオーバーライドします。 3. 'process_message'でスレッドを開始します。 4.スレッド関数の中で、メッセージの内容を読み、タスクを実行します。 5.メッセージの内容は単純なJSONオブジェクトです。 6.クライアントコードはシンプルです。クライアントは、このローカルSMTPサーバーに「電子メール」を送信するだけで済みます。この電子メールの内容としてJSON形式でエンコードされたタスクパラメータを送信します。したがって、クライアントはシンプルなシェルスクリプトにすることができます。

すべてで約40-50行のPythonコードでした。

あなたは(必要に応じて、+ CyrusLamsonと遊ぶとPostfixとそれをバックアップするようにやや似たアイデアが、はるかに洗練された実装をチェックLamson : Deferred Processing To Queues

1

が見えます。

+1

リンクが間違っているかプロジェクトが終了しました。 –

+0

実際、Lamsonプロジェクトは[2013年3月から死んでいる]ようです(https://github.com/zedshaw/lamson)。代わりに、[Mailman3](http://wiki.list.org/Mailman3)、具体的には[Mailman Core](https://pypi.python.org/pypi/mailman)にフォーカスが移っているようです。 – Amir

関連する問題