RHEL 以 myhost.localdomain 的身份发送邮件,但我不需要 localdomain 后缀/FQDN

RHEL 以 myhost.localdomain 的身份发送邮件,但我不需要 localdomain 后缀/FQDN

我有几台机器以前运行的是 Ubuntu 10.04。操作系统已更改为 RHEL7。更改后,程序像 一样cron发送mail邮件,[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.comhostname显示myhost(所有一切看起来都正常,与 Ubuntu 上的一样)。

答案1

修改发件人的程序是postfix。

  1. 默认情况下,crontab/mail 将使用用户名作为电子邮件发件人无域部分.因此发送者变成我的用户
  2. 由于 postfix 认为发件人没有域名,因此默认情况下 postfix 会将主机名附加为其域名。请参阅参数追加到 myorigin肌源/etc/postfix/main.cf。发送者成为我的用户@我的主机
  3. 因为myhost不是 FQDN。所以它将附加localdomain在发件人中。请参阅参数附加点_mydomain我的域名/etc/postfix/main.cf。发送者成为[电子邮件保护]

解决方案

  • append_dot_mydomain/etc/postfix/main.cfbecome中设置参数
  • 重启 postfix

答案2

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

[root@mercury01 ~]# crontab -l
[email protected]

*/10 * * * * sh /usr/local/src/disk-usage

[root@qa3app01 ~]#

相关内容