私は、ユーザの内部電子メールアドレスへの電子メールメッセージを受信し、管理者がそれらを承認し、対応するユーザの外部メールボックスに転送する必要があるWebアプリケーションを作成しています。Postfixメッセージを受信しました
私は、メッセージ受信タスク用の接尾辞をインストールして設定しました。仮想電子メールアドレスと、ユーザーの電子メールアドレスが格納されている既存のデータベースを使用します。ローカルのメールストレージはmaildirです。私はpostfixの仮想MDAを使用しています。
基本的には、新しいメッセージを受信するたびにスクリプトを実行したいと思います(maildirメッセージIDも非常に役に立ちます)。それから私はPythonコードからメッセージを読むことができました(pythonはmaildirメッセージボックス用のモジュールを持っていました)、それをデータベースに挿入しました。 は、私がこれを行うには3つの方法を考えることができます。
- 反復ユーザーのmaildirとそこに新しいメッセージがありますが、それは、多数のユーザのために効果がない場合 をご確認ください。
- dbmailを使用して、データベースに新しいメッセージがあるかどうかを確認します(これは速くなりますが、すべてをゼロから構成する必要があります)。また、既存のユーザーデータテーブルは使用できません。
- dbとmaildirにメッセージを保存するためにmaildrop/virtualのラッパーを作成しますが、受信したメッセージが有効かどうかを確認して、 MDAで実際に保存する方法が必要です。
ご了承ください。
これは素晴らしいアプローチですが、私は仮想リレーメカニズムを使用しています。 – fest