设置是这样的(Ubuntu 9.10):
eth0: 1.1.1.1 name.isp.com
eth0:0 2.2.2.2 example2.com
eth0:1 3.3.3.3 example3.com
example2.com
并且example3.com
是需要向其用户发送电子邮件的网络应用程序。
2.2.2.2
指向,example2.com
反之亦然 (A/PTR)。MX -> 谷歌。Google 会处理所有收到的邮件。
3.3.3.3
指向,example3.com
反之亦然 (A/PTR)。MX -> 谷歌。Google 会处理所有收到的邮件。
要求:
必须禁用本地传送(必须传送到 MX 指定的服务器),以便以下工作(注意
bob
机器上没有本地用户,但存在现有的 bob 电子邮件用户):echo "Test" | mail -s "Test 6" [email protected]
我需要能够在发送电子邮件时指定从哪个 IP/域名发送电子邮件。
我和sendmail打了一架。运气不太好。
这是一些调试信息:
sendmail -d0.12 -bt < /dev/null
Canonical name: name.isp.com
UUCP nodename: host
a.k.a.: example2.com
a.k.a.: example3.com
...
Sendmail 始终使用规范名称(取自 eth0)。我发现它无法选择其中一个 UUCP 代号。它使用它来发送电子邮件:
echo -e "To: [email protected]\nSubject: Test\nTest\n" | sendmail -bm -t -v
[email protected]... Connecting to [127.0.0.1] via relay...
220 name.isp.com ESMTP Sendmail 8.14.3/8.14.3/Debian-9ubuntu1; Wed, 31 Mar 2010 16:33:55 +0200; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO name.isp.com
我对其他 SMTP 解决方案没意见。我已经简要地查看了 nbsmtp、msmtp 和 nullmailer,但我不确定它们是否可以处理禁用本地传递和在发送电子邮件时选择不同的域。
我也知道通过使用来欺骗发件人字段,mail -a "From: <[email protected]>"
但这似乎是一个半解决方案(邮件仍然从 isp.com 域而不是正确的 example2.com 发送,因此 PTR 记录未被使用,并且被标记为垃圾邮件的风险更大/垃圾邮件发送者)。