RHEL将邮件作为myhost.localdomain发送,但我不想要localdomain后缀/ FQDN

我有几台运行Ubuntu 10.04的机器。 操作系统改为RHEL7。 更改之后,像cronmail这样的程序发送邮件为[email protected]而在Ubuntu上为myuser@myhost 。 我更喜欢Ubuntu的方式,没有localdomain后缀,并希望我的RedHat安装工作方式相同。 我怎样才能做到这一点?

/etc/hosts看起来像这样:

 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 1.2.3.4 myhost.example.com myhost 

hostname -f显示myhost.example.com ; hostname显示myhost (所有这些似乎都没问题,和Ubuntu上一样)。

修改发件人的程序是postfix。

  1. 默认情况下,crontab / mail将使用用户名作为电子邮件发件人没有域部分 。 所以发件人变成了myuser
  2. 因为postfix看到发件人没有域名,所以默认情况下postfix会把主机名添加为域名。 请参阅/etc/postfix/main.cf参数append_at_myorigin和myorigin 。 发件人成为myuser @ myhost
  3. 由于myhost不是FQDN。 所以它会在发件人附加localdomain 。 请参阅/etc/postfix/main.cf参数append_dot_mydomain和mydomain 。 发件人成为[email protected]

  • /etc/postfix/main.cf参数append_dot_mydomain设置为no
  • 重新启动后缀

我不确定crontab是从哪里获取电子邮件地址的主机名部分,但是您可以做的一件事就是在crontab的顶部添加一个MAILFROM=行,以便从该地址发送电子邮件在MAILFROM=行中提到。

 [root@mercury01 ~]# crontab -l [email protected] */10 * * * * sh /usr/local/src/disk-usage [root@qa3app01 ~]#