我家里有一个小型服务器(Ubuntu 10.04),我想将root
的电子邮件转发到我的 gmail 托管域以获取安全通知等。
我把所有东西都拆掉,从头开始,遇到了一些其他事宜。
现在我已能够使用 sendmail 并接收邮件。mail [email protected]
但是,添加地址实际上/root/.forward
并不会转发消息。我在日志中收到以下信息:
Dec 22 14:04:37 batcave sendmail[4695]:
oBML4bAT004695: to=<root@batcave>, ctladdr=aburns (1000/1000),
delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30075,
relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (oBML4bJ9004696
Message accepted for delivery)
Dec 22 14:04:39 batcave sm-mta[4698]: STARTTLS=client, relay=[69.145.248.18],
version=TLSv1/SSLv3, verify=FAIL, cipher=DES-CBC3-SHA, bits=168/168
Dec 22 14:04:40 batcave sm-mta[4698]: oBML4bJ9004696: to=<[email protected]>,
ctladdr=<[email protected]> (1000/1000), delay=00:00:03, xdelay=00:00:03,
mailer=relay, pri=120336, relay=[69.145.248.18] [69.145.248.18],
dsn=2.0.0, stat=Sent (OK 01/D4-00853-216621D4)
您可以看到我的本地 sendmail 实例接受该邮件,然后将其交给我的 ISP,但地址错误([电子邮件保护])。
答案1
除了使用/root/.forward
,你有没有尝试过
root: [email protected]
进入/etc/aliases
?
newaliases
(请注意,更新文件后需要运行aliases
。)
答案2
最可能的原因是反向 DNS:您的机器的 IP 是否有 RR DNS 条目?对日志中显示的主机进行正向查找(假设您没有修改)可得到:
[root@ryor:~] dig batcave.batcavern.com
; <<>> DiG 9.3.4-P1.1 <<>> batcave.batcavern.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 7005
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;batcave.batcavern.com. IN A
;; AUTHORITY SECTION:
batcavern.com. 3600 IN SOA ns1.sitelutions.com. erebusbat.batcavern.com. 54 28000 7200 604800 5
;; Query time: 503 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov 29 22:02:30 2010
;; MSG SIZE rcvd: 101
[root@ryor:~]
因此看起来好像它甚至没有 A 记录。希望传递邮件而不被视为垃圾邮件中继的 SMTP 主机需要同时具有 A 记录和 RR 记录。
答案3
如果您拥有动态 IP,请查看 dyndns.com。它将允许您获取域名的 A 记录,该记录将更新以匹配您的 IP。