收到正文不完整的邮件

收到正文不完整的邮件

我有一个智能主机,其中 Getmail+Sendmail+Postfix+Dovecot 与远程服务器相连。此智能主机仅适用于一个域。Postfix 用于在此域内和域外发送邮件。为了接收邮件,我使用 Getmail 通过 POP3S 从我的远程服务器接收邮件,然后使用 Sendmail 转发到我的本地用户帐户。

为了自动从外部域接收邮件,我设置了一个脚本,在 5 分钟内运行 5 次(使用 crontab),检查远程服务器上的所有远程电子邮件帐户,并通过 Getmail 获取新邮件。

现在,我收到了一个用户的奇怪行为,他从外部域向我的智能主机域发送邮件。有时,目的地只收到已发送的部分邮件,似乎该服务器有时没有收到邮件的所有数据,我能看到的唯一相关的事情是,可能存在触发此情况的文本格式,但不是特定类型。

在 mail.log 和 getmail 日志中,没有报告任何问题,一切似乎都很好。

该用户正在使用 Outlook。

这里有人以前见过这个吗?

注意:如果您需要此服务器的任何配置,我可以提供。

答案1

经过一些调试后,我注意到这是在 Getmail 中完成的。

并在查尔斯·卡扎邦获取邮件,我得以解开这个“谜团”。

似乎我生成的每个 getmail RC 在调用 sendmail 时都缺少一些额外的参数,例如:

-f [发件人]:设置信封发件人地址。这是发送投递问题的地址。对于 Postfix 2.1 之前的版本,Errors-To: 消息头会覆盖错误返回地址。

导致某些用户只收到一半邮件的原因是:

-i:从标准输入读取消息时,不要将仅有 . 字符的行视为输入的结束。

现在这是我在此智能主机中使用的默认 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

我希望这可以帮助其他遇到同样问题的人。

非常感谢 Charles Cazabon 的帮助!!!

相关内容