我在 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
服务器“不鼓励”过于频繁的轮询。
IMAP
用IDLE
命令
您可以使用IMAP
withIDLE
命令而不是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 服务器发送新邮件通知,因此可以比常规民意调查更快地检索到它们。