0

私のポートフォリオ ソフトウェアではfetchmail、IMAP を介して Google のメール アカウントから読み取るために使用しており、人生は素晴らしいものでした。imap3 によってサポートされているアイドル接続の奇跡のおかげで、私のトリガーは、サーバーのプッシュにより、定期的なポーリングよりもはるかに早く、ほぼリアルタイムで起動します。

私の基本的な.fetchmailrc設定では、証券会社の顧客のアカウントが取引通知を専用の Gmail/Google Apps ボックスに電子メールで送信します。

poll imap.gmail.com proto imap user "youraddress@yourdomain-OR-gmail.com" pass "yoMama"  keep nofetchall ssl  idle mimedecode limit 29000 no rewrite mda "myCustomSpecialMDAhandler.sh  %F %T"

問題は、複数の電子メール ボックスからの読み取りをサポートする必要があり、その電子メールを私が作成した他の専用の MDA スクリプトに渡す必要があることです。問題ありません。投票行を に追加するだけ.fetchmailrcですよね?他のアカウントもimap.gmail.comを使用している場合、それは機能しません。結局、1 つのアカウントは問題なく読める (最初にリストされたアカウントは必要ありませんが、通常はそうである必要はありません) 一方で、もう 1 つのアカウントは 1日中「ソケット エラー」になり、電子メールは未読のままです。理由がわからず、それが何らかのメカニズムであるかどうかさえわかりませimap.gmail.comん。ホストからの IMAP 接続を 1 つに制限します。多くの個別のGmailとIMAP接続を維持しているので、それは正しくないようですThunderbird ) であり、この排他性の問題に気付きませんでした。

個別の-f構成ファイルを使用して複数の fetchmail デーモンを起動したり (それらが競合しないと仮定して)、1 つ以上の getmail および他の同様の電子メール フェッチャーを追加でデプロイしたりはしていません。この種の混乱を回避しようとしていますが、監視する必要があるボックスが増えるほど、拡張できなくなります。

4

1 に答える 1

0

参照をオフハンドに持っていませんが、fetchmailのドキュメントのどこかで、アイドルはfetchmailのオプションのトリックほどimap機能ではなく、他のすべての定義済みアカウントをポーリングから締め出すという(私にとっては厄介な)副作用があることを読んだことを思い出します何らかの外部イベントまたはタイムアウトによって接続が切断されるまで。したがって、少なくともそれはグーグルを立証するだろう。

いくつかのヒントについては、 CarlのWhineRackブログ の功績によるものです。

今のところ、私はkillall fetchmail; fetchmail -f fetcher.$[$RANDOM % $numaccounts].rc定期的にfromを使用して、それぞれが、などcrontabで個別に定義された読み取りアカウントを循環させます。電子メールイベントは比較的まれですが、受け入れられます。fetcher.1.rcfetcher.2.rc

于 2012-02-12T20:25:57.030 に答える