我设置了 fetchmail 以从 Google 帐户获取电子邮件。如果我将 fetchmailrc 所有权设置为root:root
并运行fetchmail -vvv --nodetach --nosyslog -f /etc/fetchmailrc
,它会按预期获取电子邮件。如果我将所有权设置为fetchmail:root
并重新启动 fetchmail,则什么也不会发生。权限是 600。这是我的 /etc/fetchmailrc:
set daemon 60
set invisible
set postmaster administrator
set no syslog
set logfile /var/log/fetchmail.log
poll pop.gmail.com protocol pop3 port 995 username "[email protected]" password "xxxxxx" ssl mda "/var/www/html/requesttracker/bin/rt-mailgate --queue YLN --action correspond --url https://subdomain.example.com" nokeep
如何让守护进程工作?
更新:进一步的探索表明 fetchmail 没有运行。当我启动 fetchmail ( systemctl start fetchmail
) 时,它不会返回任何错误,因此我认为它正在运行。状态返回如下:
● fetchmail.service - A remote-mail retrieval utility
Loaded: loaded (/usr/lib/systemd/system/fetchmail.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2022-10-27 06:49:23 MST; 2s ago
Process: 51920 ExecStart=/usr/bin/fetchmail -d 300 --fetchmailrc /etc/fetchmailrc.example (code=exited, status=5)
Main PID: 51920 (code=exited, status=5)
Oct 27 06:49:23 ylntest.yln.info systemd[1]: Started A remote-mail retrieval utility.
Oct 27 06:49:23 ylntest.yln.info systemd[1]: fetchmail.service: Main process exited, code=exited, status=5/NOTINSTALL>
Oct 27 06:49:23 ylntest.yln.info systemd[1]: fetchmail.service: Failed with result 'exit-code'.
为什么会失败?特别是,这一行让我感到困惑:
ExecStart=/usr/bin/fetchmail -d 300 --fetchmailrc /etc/fetchmailrc.example
。为什么要尝试加载示例文件?
答案1
我想到了。首先,我将/usr/lib/systemd/system/fetchmail.service
ExecStart 行更改为:
ExecStart=/usr/bin/fetchmail -d 60 --fetchmailrc /etc/fetchmailrc
。
然后我将所有权更改为/etc/fetchmailrc
tomail:mail
并开始使用 fetchmail。