我有一个智能主机与远程服务器连接的Getmail + Sendmail + Postfix + Dovecot。 这个智能主机只适用于一个域。 Postfix用于在这个域和外部域中发送邮件。 接收我使用Getmail从远程服务器通过POP3S接收邮件,然后使用Sendmail转发到我的本地用户帐户。
要从外部域自动接收邮件,我已经设置了一个脚本,在5分钟内(使用crontab)运行5,以检查远程服务器上的所有远程电子邮件帐户,以通过Getmail获取新邮件。
现在,我收到了一个从外部域发送邮件到我的智能域的用户的一些奇怪的行为。 有时,目的地只接收已发送邮件的一部分,似乎这个服务器有时不会得到所有的邮件数据,唯一相关的东西,我可以看到的是,有文本格式,可能是触发这一点,但不是一个具体的types。
在mail.log和getmail日志中,没有报告的问题,一切似乎都很好。
此用户正在使用Outlook。
这里有人见过这个吗?
注意:如果你需要这个服务器的任何configuration,我可以提供。
经过一些debugging后,我注意到这是在Getmail中完成的。
在Getmail的Charles Cazabon的帮助下,我能够解决这个“莫名其妙”。
似乎在唤醒sendmail的时候,每个getmail RC中都缺less一些额外的参数,例如:
-f [发件人]:设置信封发件人地址。 这是发送问题的地址。 对于2.1之前的Postfix版本,错误消息头将覆盖错误返回地址。
以及导致一些用户只接收他们一半邮件的说法:
-i:从标准input中读取消息时,不要只处理一行。 字符作为input的结尾。
现在,这是我在这个智能主机中使用的默认的getmail RC:
[retriever] type = SimplePOP3SSLRetriever server = [remote server FQDN] port: 995 username = test@[remote server domain] password = qwe123 [destination] type = MDA_external path = /usr/sbin/sendmail arguments = ('-i','-f [local network admin user]',"-bm", "test") unixfrom = true [options] delete = true message_log = ~/.getmail/logs/getmailrc_test.log
我希望这可以帮助其他人有同样的问题。
一个非常感谢的帮助查尔斯Cazabon!