我已经在 OS X Server (10.8) 上安装了 Round Cube/Postfix 一段时间了。今天我们发现休假过滤器只向本地用户发送消息。它之前还可以正常工作,所以我猜是更新破坏了某些功能。我重新安装了 Round Cube,但仍然只有本地用户能收到休假回复。
我猜一定是邮件路由出了问题,但我不知道哪里出了问题。任何想法我都感激不尽。
macmini.example.com postfix/qmgr[5115]: 3508123A2110: from=<[email protected]>, size=2674, nrcpt=1 (queue active)
macmini.example.com postfix/smtpd[5152]: disconnect from mxout-027-ewr.mailhop.org[216.146.33.27]
macmini.example.com postfix/smtpd[5118]: connect from localhost[127.0.0.1]
macmini.example.com postfix/smtpd[5118]: 3FB9A23A2119: client=localhost[127.0.0.1]
macmini.example.com postfix/cleanup[5120]: 3FB9A23A2119: message-id=<CAGgjO8Pv4UZ+QmDOgJdo8V5MZptiRTP25c0w2bnwZieNyrnUMQ@mail.gmail.com>
macmini.example.com postfix/smtpd[5118]: disconnect from localhost[127.0.0.1]
macmini.example.com postfix/qmgr[5115]: 3FB9A23A2119: from=<[email protected]>, size=3101, nrcpt=1 (queue active)
macmini.example.com postfix/smtp[5116]: 3508123A2110: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.2, delays=1.1/0/0/0.06, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 3FB9A23A2119)
macmini.example.com postfix/qmgr[5115]: 3508123A2110: removed
macmini.example.com postfix/pickup[5114]: 4A8E123A211C: uid=214 from=<>
macmini.example.com postfix/cleanup[5120]: 4A8E123A211C: message-id=<[email protected]>
macmini.example.com postfix/qmgr[5115]: 4A8E123A211C: from=<>, size=659, nrcpt=1 (queue active)
macmini.example.com postfix/pipe[5122]: 3FB9A23A2119: to=<[email protected]>, relay=dovecot, delay=0.05, delays=0/0/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service)
macmini.example.com postfix/qmgr[5115]: 3FB9A23A2119: removed
macmini.example.com postfix/smtpd[5118]: connect from localhost[127.0.0.1]
macmini.example.com postfix/smtpd[5118]: 58C3C23A2129: client=localhost[127.0.0.1]
macmini.example.com postfix/cleanup[5120]: 58C3C23A2129: message-id=<[email protected]>
macmini.example.com postfix/qmgr[5115]: 58C3C23A2129: from=<>, size=1088, nrcpt=1 (queue active)
macmini.example.com postfix/smtp[5116]: 4A8E123A211C: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.08, delays=0/0/0/0.07, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 58C3C23A2129)
macmini.example.com postfix/qmgr[5115]: 4A8E123A211C: removed
这是 roundcube/managesieve 生成的规则
require ["vacation"];
# rule:[out 2]
if true
{
vacation :days 1 :addresses ["[email protected]"] :subject "not here" "out of office";
}
现在我看到我的邮件中继正在退回回复,因为它是从 <> 发送的(请注意,这不是隐藏的,它是空的
macmini.example.com postfix/smtp[5173]: 58C3C23A2129: to=<[email protected]>, relay=smtpcorp.com[216.22.15.247]:25, delay=2.1, delays=1/0.02/0.9/0.16, dsn=5.0.0, status=bounced (host smtpcorp.com[216.22.15.247] said: 550-MDR refused, to send MAIL FROM: <> use both IP-address and password 550 xxxx.xxxx.xxxx.xxxx/32 (in reply to RCPT TO command))
答案1
此邮件日志行
macmini.example.com postfix/smtp[5173]: 58C3C23A2129: to=<[email protected]>, relay=smtpcorp.com[216.22.15.247]:25, delay=2.1, delays=1/0.02/0.9/0.16, dsn=5.0.0, status=bounced (host smtpcorp.com[216.22.15.247] said: 550-MDR refused, to send MAIL FROM: <> use both IP-address and password 550 xxxx.xxxx.xxxx.xxxx/32 (in reply to RCPT TO command))
表示您的 SMTP 上游被拒绝转发您的电子邮件。看来修改策略对您来说是可行的解决方案。
有没有办法避免 from=<> 并让它实际插入发件人?
RFC 5230第 4.3 节说,发送休假时可以使用自定义发件人。只需在规则中指定即可。例如:from "[email protected]"
vacation :days 1 :from "[email protected]" :addresses ["[email protected]"] :subject "not here" "out of office";
我不熟悉 roundcube,所以我无法告诉你插件 managesieve 是否有能力设置发送者。