透過 IMAP 接收電子郵件並使用腳本進行解析,延遲最小

透過 IMAP 接收電子郵件並使用腳本進行解析,延遲最小

我有一個 Perl 腳本,它使用NET::IMAPClientandMIME::Parser簡單地從 IMAP 伺服器讀取新電子郵件並將所有附件保存到磁碟。

我的問題是:一旦有新電子郵件,運行此腳本的最佳方法是什麼?我可以使用 cron 定期運行腳本,我甚至可以每隔幾秒鐘檢查一次,但我懷疑有更好的方法。

理想情況下,我會在收到電子郵件後立即採取行動,就像系統事件一樣。實現這目標的常用軟體和技術有哪些?我使用的是Debian系統。

答案1

一般來說,您會不斷檢查電子郵件,除非,如所提到的@喬爾戴維斯,可以使用一些push指令來擴充伺服器。

此外,如果您的電子郵件伺服器支持,則可以使用 IMAP4 的 IDLE 擴充:

IMAPClient 對 IDLE 有本機支援:

答案2

一般來說,傳輸資料的程式會透過「輪詢」或「推送」來操作。除非可以修改 IMAP 伺服器以將資料推送到具有 perl 腳本的伺服器,否則您只能定期輪詢事件。

一種替代方法cron是僅守護 perl 腳本,以便它sleep在每次檢查後執行。這可以節省您的時間execve,根據您輪詢的頻率,您甚至可以節省建立 TCP 連線所需的時間

相關內容