0

抽出する必要のあるテキストを含むメールを送信するユーザーがいます。各ユーザーの電子メールは、単一のメールボックスにマップされます。現在、メールボックス(postfix)を5分ごとにポーリングし、新しいメッセージをチェックして、ワーカーに解析させるキューに送信するcronジョブを使用しています。私は2つの主な質問があります:

  1. サーバーをポーリングする代わりに、受信後すぐに電子メールを解析する方法はありますか?また、これをスケーラブルに実装するにはどうすればよいですか?たとえば、1秒あたり50件の着信メッセージがあるとします。
  2. postfix設定ファイルのメールボックスを指すように各ユーザーのメールアドレスをプログラムで書き込んでいます。キャッチオールアカウントを作成したほうがいいので、各メールアドレスを書く必要はありませんか?ただし、キャッチオールアカウントはスパムの影響を受けやすいことを私は知っています。
4

3 に答える 3

2

パイプエイリアスを使用して電子メールをキャッチし、セロリを使用してそれをMQにダンプして処理します。

于 2010-12-25T02:20:47.720 に答える
1

はい、これは非常に簡単に行うことができます。あなたがする必要があるのは、メールボックスではなくスクリプトに電子メールを転送するように接尾辞を設定することです。それは本当にキャッチオールである必要はありません、あなたは特定の電子メールをスクリプトに転送するようにpostfixを設定することができます。スクリプトは任意の言語で書くことができます。私はそのようなスクリプトをphpで数回書きました。1秒あたり50通の電子メールなどの非常にビジーなサーバーのもう1つの可能性は、独自のフィルターサーバーを作成し、各メッセージをフィルターに渡すようにpostfixを構成することです。

メールをスクリプトに転送するには、エイリアスファイルに次のような行を入力します。パスはこのファイルを指している必要があります

someaccount |/usr/local/bin/emailParser.php

メールをフィルターに転送するには、master.cfで構成する必要がありますが、これはもう少し難しい方法です。

于 2010-12-25T02:27:33.577 に答える
0
  1. これにはProcmailを使用することをお勧めします。受信メールを処理するように特別に設計されており、特定のプロパティを持つすべてのメールをアプリに渡すことができます。

    http://www.procmail.org/

  2. キャッチオールアドレスに関するスパムの問題は、通常、マシン上のすべてのメールを監視することで非常に簡単に解決できます。複数のアドレスが同じメールを受信する場合は、スパムである可能性が高くなります。

于 2010-12-25T02:20:51.703 に答える