2012-02-08 74 views
0

對於我的投資組合軟件,我一直使用fetchmail通過IMAP從Google電子郵件帳戶讀取,並且生活一直很棒。由於空閒連接支持imap3的奇蹟,我的觸發器幾乎實時觸發,由於服務器推動,比定期輪詢更快,否則將允許。從同一個fetchmail客戶端的多個imap.gmail.com中讀取

在我的基本.fetchmailrc設置,其中券商客戶的帳戶的電子郵件貿易通知到專用的Gmail /谷歌應用程序中,我有

poll imap.gmail.com proto imap user "[email protected]" pass "yoMama" keep nofetchall ssl idle mimedecode limit 29000 no rewrite mda "myCustomSpecialMDAhandler.sh %F %T" 

麻煩的是,現在我需要支持來自多個閱讀電子郵件箱,並將電子郵件轉交給我編寫的其他專門的MDA腳本。沒問題,只需加更多民意調查行到.fetchmailrc,對不對?那麼當其他賬戶也使用imap.gmail.com不起作用。最終發生的事情是,雖然一個帳戶讀取正常(並沒有必要的第一個列出,雖然通常是),另一個整天收到「套接字錯誤」和電子郵件保持未被觸動,未讀。我不知道爲什麼,甚至不知道它是否是某種機制,例如imap.gmail.com。限制爲來自主機的一個IMAP連接。這似乎不正確,因爲我已將多年來與同一客戶端的多個單獨的Gmail應用程序的Google Apps帳戶保持IMAP連接(例如Thunderbird),並且從未注意到這種排他性問題。

我還沒有嘗試過使用單獨的-f配置文件啓動多個fetchmail的守護進程(假設他們不衝突),或部署一個或多個getmail,此外其他類似的電子郵件取程序。仍然試圖避免這種混亂 - 無法縮放更多的盒子,我必須監視。

回答

0

不具備參考的副手,但在fetchmail的文檔的地方我記得讀取空閒與其說是一個IMAP功能作爲一種可選的fetchmail招,其中有一個(討厭我)的副作用阻止所有其他定義的輪詢帳戶,直到連接被某個外部事件或超時中斷。所以至少會維護Google。

感謝Carl's Whine Rack博客的一些提示。

現在我用killall fetchmail; fetchmail -f fetcher.$[$RANDOM % $numaccounts].rc定期從crontab循環讀取每個賬戶單獨定義在fetcher.1.rcfetcher.2.rc等可接受而電子郵件事件相對罕見。