所以我设置了 fetchmail 从远程邮件服务器使用 IMAP 检索电子邮件,我能够运行它。我如何知道它是否找到任何电子邮件,因为我确实向正在轮询的帐户发送了测试电子邮件,但尚未阅读它们,以便 fetchmail 可以检测到它们。另一个问题是我不确定 fetchmail 是否将它们交给我的 MTA,在本例中是 postfix。
我如何确定这种情况正在发生以及在哪里可以找到检索到的电子邮件?
答案1
当您调用 fetchmail 时,可以使用一些选项来打印日志和调试信息。这是手册页中的内容:
For troubleshooting, tracing and debugging, you need to increase fetch-
mail's verbosity to actually see what happens. To do that, please run
both of the two following commands, adding all of the options you'd
normally use.
env LC_ALL=C fetchmail -V -v --nodetach --nosyslog
(This command line prints in English how fetchmail understands
your configuration.)
env LC_ALL=C fetchmail -vvv --nodetach --nosyslog
(This command line actually runs fetchmail with verbose English
output.)
如果 fetchmail 确实运行并获取您的电子邮件并将其移交给本地 MTA,您还应该能够在 /var/log/maillog(或您告诉系统放置邮件日志的任何位置)中找到此痕迹。
答案2
除了珍妮的回答之外,还可以让你监视fetchmail
。如果电子邮件不再位于 IMAP 服务器上,则很好地表明这些电子邮件已被检索。要检查您是否可以与 IMAP 客户端连接,或查看服务器上的邮件目录(例如~/Maildir
)。
在客户端,fetchmail
邮件可能存储在 中/var/spool/mail
,除非您已经设置了 MTA。例如通过 递送procmail
,在后一种情况下,您的收件人~/.procmailrc
决定物品的去向。
如果你似乎无法追踪事情的进展。检查您的邮件日志(在提取的电子邮件中被退回)。作为最后的手段,您还可以触摸文件(“/var/tmp/now”,运行fetchmail
并用于find / -newer /var/tmp/now
搜索系统上最近创建/更新的文件。