Linux:使用该用户的主机名将邮件发送到服务器的外部邮箱

我有一个Linux机器上运行的sendmail。 假设该框的主机名是bar.com 。 如果我运行以下命令,我不会收到电子邮件(由第三方托pipe),可能是由于主机名指向本地计算机。

echo "Test Body" | mail -s "Test Subject" [email protected] 

有没有办法让这个工作,使我可以收到我的第三方电子邮件地址的电子邮件,即使它有相同的主机名? 我必须更改此服务器的主机名(不是首选)吗?

值得注意的是,我在我的机器上创build了一个用户“foo”,并注意到该账户的邮箱是空的。

我注意到这些日志条目,这可能是或可能不相关:

 Jun 28 01:09:48 bar sendmail[14338]: p5S59min014338: from=apache, size=80, class=0, nrcpts=1, msgid=<[email protected]>, relay=apache@localhost Jun 28 01:09:48 bar sendmail[14339]: p5S59mIA014339: from=<[email protected]>, size=293, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.$ Jun 28 01:09:48 bar sendmail[14338]: p5S59min014338: [email protected], ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30080, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p5S59mIA$ Jun 28 01:09:48 bar sendmail[14340]: p5S59mIA014339: to=<[email protected]>, ctladdr=<[email protected]> (48/48), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30495, dsn=2.0.0, stat=Sent 

随着Flimzy的评论,我能够得到这个工作。 这可能不是我原来的问题的确切解决scheme,但确实是服务器的主机名应该是一个子域名。

我所做的是将主机名更改为abc.bar.com:

(Fedora具体说明)

对于现有会话:主机名abc.bar.com

永久:编辑/etc/sysconfig/network

然后service sendmail restart ,瞧!