fetchmail 不遵守守护进程时间

fetchmail 不遵守守护进程时间

我在 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 "[email protected]" 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 等待超过一两分钟并不是真正可取的。

有什么指点吗?

答案1

许多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支持 IDLE 的 IMAP。

每个受监控的 IMAP 帐户都需要一个 fetchmail 进程。
fetchamil将保持一个 IMAP 会话永久打开。
您应该收到有关新电子邮件的“近乎实时”通知。

man fetchmail

--idle (since 6.3.3)
(关键字:idle,since 6.0.0 之前)
启用 IDLE 使用(仅对 IMAP 有效)。请注意,这在给定时间仅适用于一个文件夹。虽然空闲 rcfile 关键字已被支持很长时间,但在 6.3.3 版本中添加了 --idle 命令行选项。 IDLE 使用意味着 fetchmail 告诉 IMAP 服务器发送新邮件通知,因此可以比常规民意调查更快地检索到它们

相关内容