我正在尝试使用 getmail 接收邮件并通过 sendmail 将其重新路由到 postfix。
我已经设法连接到我的外部邮件服务器,但是从 getmail 向 postfix 发送邮件时失败。
我在 OS X 上使用的是 getmail+postfix+dovecot,下面是 getmail 的配置文件:
[retriever]
type = SimplePOP3SSLRetriever
server = cpanel.ideiasfrescas.pt
port: 995
username = [email protected]
password = XXXXXX
[destination]
type = MDA_external
path = /usr/sbin/sendmail
arguments = ("-i", "-bm", "[email protected]")
unixfrom = true
[options]
delete = false
message_log = ~/.getmail/getmail.log
运行 getmail 后,我在外部邮件服务器上存储的每封邮件都会收到此错误:
传递错误(命令 sendmail 26474 错误 (127,命令 sendmail 执行失败(默认拒绝以 root 或 GID 0 身份调用外部命令))
看来我正在访问我的外部邮件帐户,但无法将其重新路由到 postfix(我可以通过 getmail 日志查看该服务器中所有邮件的 msgid,并且在该错误之前,我的邮件状态为每个错误 msg 40/43(6531 字节))
我猜想可能是参数行出了问题,因为我的 sendmail 运行正常。我搜索过这个问题,但没有找到很好的解释,也没有找到修复此错误的方法。
答案1
无法通过 root 运行外部命令,因此我使用普通用户来运行 getmail,并且我将 getmail 文件夹重新定位到执行 getmail 的用户。