对于此服务器,我运行的是 virtualmin。它附带 postfix。我的一个用户抱怨他没有收到所有电子邮件。为了检查这一点,我让 postfix 将他的电子邮件转发到另一个电子邮件地址 (gmail)。他在 gmail 中接收电子邮件,而不是在 postfix 中。这些邮件没有被标记为垃圾邮件。在任何地方都找不到这些电子邮件。
日志示例:
[root@server]# grep ***messageid9F63AA8003***@***.gbl /var/log/maillog
Sep 24 12:10:44 server postfix/cleanup[1827]: 6248E3BC0243: message-id=<***messageid9F63AA8003***@***.gbl>
Sep 24 12:10:44 server spamd[16387]: spamd: processing message <***messageid9F63AA8003***@***.gbl> for mail.account:524
Sep 24 12:10:46 server spamd[16387]: spamd: result: . -2 - FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD scantime=1.4,size=2198,user=mail.account,uid=524,required_score=4.0,rhost=localhost,raddr=127.0.0.1,rport=335,mid=<***messageid9F63AA8003***@***.gbl>,autolearn=ham
Sep 24 12:10:46 server postfix/cleanup[1827]: 8BD433BC056E: message-id=<***messageid9F63AA8003***@***.gbl>
这看起来不错,所以我进一步观察:
[root@server]# grep 8BD433BC056E /var/log/maillog
Sep 24 12:10:46 server postfix/cleanup[1827]: 8BD433BC056E: message-id=<***messageid9F63AA8003***@***.gbl>
Sep 24 12:10:46 server postfix/local[1828]: 6248E3BC0243: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=2, delays=0.2/0/0/1.8, dsn=2.0.0, status=sent (forwarded as 8BD433BC056E)
Sep 24 12:10:46 server postfix/qmgr[26692]: 8BD433BC056E: from=<[email protected]>, size=2252, nrcpt=1 (queue active)
Sep 24 12:10:47 server postfix/smtp[1850]: 8BD433BC056E: to=<[email protected]>, orig_to=<[email protected]>, relay=gmail-smtp-in.l.google.com[173.194.70.26]:25, delay=2.5, delays=1.8/0/0.18/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1380017236 l42si26334755eef.298 - gsmtp)
Sep 24 12:10:47 server postfix/qmgr[26692]: 8BD433BC056E: removed
这里 postfix 声称它已将电子邮件发送到邮箱。虽然它没有显示。我还做错了什么?有什么提示吗?
答案1
上面代码片段中看到的是 postfix 的日志向前电子邮件无需保留本地副本。简单来说,转发就等同于更改电子邮件收件人。
以上代码片段包含队列 ID6248E3BC0243和8BD433BC056E当 postfix 从 hotmail 收到邮件时,它会给出队列 ID6248E3BC0243。因为你设置了转发,所以 postfix 会转发它并在这一行记录操作。
9 月 24 日 12:10:46 服务器 postfix/local[1828]: 6248E3BC0243: to=、orig_to=、relay=local、delay=2、delays=0.2/0/0/1.8、dsn=2.0.0、status=sent(转发为 8BD433BC056E)
该行告诉我们 postfix 已成功 (status=sent) 将其转发到另一个电子邮件地址。Postfix 给出队列 ID8BD433BC056E转发邮件。
当然,当用户收到电子邮件但该电子邮件不存在于他的邮箱中时,您应该向我们提供更多信息(例如此邮件日志行)。