Fetchmail

fetchmail 不遵守守護程序時間

  • November 23, 2018

我在 fetchmailrc 文件中將 fetchmail 守護程序設置為 60 秒。然而,開始抓取最多需要 8 分鐘,有時甚至更長時間。

這是我的 fetchmailrc:

set daemon 60
set postmaster "root"
set syslog
set logfile "/var/log/fetchmail.log"
set no bouncemail
set spambounce
poll pop.gmail.com with proto pop3
user "user@gmail.com" there with password "mypassword" is root here
 fetchall
 no keep
 no rewrite
 ssl
 mda "/usr/bin/procmail -f %F -d %T";

我必須有 60 秒的時間是因為我們從非洲各地的不同地點收集遙測數據(壓力和溫度)。郵件通過管道傳送到 procmail,然後發送到 MySql。然後創建一個“實時”圖表並提供給我們的維護團隊。

等待 fetchmail 超過一分鐘或兩分鐘是不可取的。

任何指針?

許多POP3伺服器“不鼓勵”過於頻繁的輪詢。

https://webmasters.stackexchange.com/questions/49721/what-is-the-maximum-frequency-for-checking-email-in-gmail-and-are-there-alterna


IMAPIDLE命令

您可以使用IMAPwithIDLE命令而不是POP3.

fetchmail(程序)和(電子郵件提供商)都gmail支持 IMAP 和 IDLE。

每個受監控的 IMAP 帳戶需要一個 fetchmail 程序。

fetchamil將保持一個 IMAP 會話永久打開。

您應該收到有關新電子郵件的“近乎實時”的通知。

man fetchmail

–idle(從 6.3.3 開始)

(關鍵字:idle,從 6.0.0 之前開始)

啟用空閒使用(僅對 IMAP 有效)。請注意,這在給定時間僅適用於一個文件夾。雖然 idle rcfile 關鍵字已被支持很長時間,但在 6.3.3 版本中添加了 –idle 命令行選項。空閒使用意味著 fetchmail 告訴 IMAP 伺服器發送新消息通知,因此可以比正常輪詢更快地檢索它們

引用自:https://unix.stackexchange.com/questions/483424