Назад | Перейти на главную страницу

RHEL отправляет почту как myhost.localdomain, но мне не нужен суффикс localdomain / FQDN

У меня есть несколько машин, на которых работала Ubuntu 10.04. Операционная система была изменена на RHEL7. После изменения программы вроде cron и mail отправить почту как myuser@myhost.localdomain тогда как в 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 будет добавлять имя хоста в качестве своего домена. См. Параметр append_at_myorigin и myorigin в /etc/postfix/main.cf. Отправитель становится myuser @ myhost
  3. Так как myhost не полное доменное имя. Итак, он добавит localdomain в отправителе. См. Параметр append_dot_mydomain и mydomain в /etc/postfix/main.cf. Отправитель становится myuser@myhost.localdomain

Решение

  • Установить параметр append_dot_mydomain в /etc/postfix/main.cf становиться нет.
  • Перезапустить постфикс

Я не уверен, откуда crontab берет часть имени хоста из адреса электронной почты, но вы можете добавить MAILFROM= строку в самом верху crontab, чтобы электронное письмо отправлялось с адреса, указанного в MAILFROM= линия.

[root@mercury01 ~]# crontab -l
MAILFROM=root@mercury.example.com

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

[root@qa3app01 ~]#