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

Как изменить корневой адрес электронной почты на новое имя хоста?

Есть ли способ изменить исходящую электронную почту для root, т.е. вместо root@localhost.localdomain к root@apps.mydomain.com?

Я использую Postfix.

В наборе Postfix:

myhostname = host.example.com

в main.cf

Измените файл псевдонимов на свой вкус. Он будет в / etc, или / etc / mail, или / etc / postfix, или в любом другом каталоге, в зависимости от вашего MTA. Вам также может потребоваться перестроить alias db или перезагрузить MTA (см. Документацию MTA).

Ситуация: Я переименовал Digital Ocean Droplet (старый домен исчез), однако корневая почта по-прежнему отправляла письма со старым доменом (при выполнении сценариев bash). Старое письмо было видно в заголовке письма:

конверт из
Обратный путь:
От: root@old.domain.com (root)

С помощью hostname=newdomain.com то перезапуск сервера не помог.

Точно так же это не помогло:

sudo postconf -e 'myhostname = newdomain.com'
sudo postconf -e 'smtp_helo_name = newdomain.com'
sudo service postfix restart

Затем я заглянул в /etc/postfix/main.cf который раскрывает одну важную строку:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)

Наконец, я смог определить проблему до этот файл:

/etc/mailname

который все еще имел старая запись.

Итак, я отредактировал файл и установил новое имя файла.

После этого в SSH я выполнил:

  1. newaliases (не уверен, нужно ли)
  2. sudo service postfix restart
  3. Затем выполнил мой собственный сценарий bash с почтой.

И вуаля, письмо отправлено с нового адреса электронной почты.

Я нашел решение его smtp_generic_maps (по умолчанию: пусто)

Необязательные таблицы поиска, которые выполняют перезапись адреса в SMTP-клиенте, обычно для преобразования локально действительного адреса в глобально допустимый адрес при отправке почты через Интернет. Это необходимо, когда у локального компьютера нет собственного имени домена в Интернете, но вместо него используется что-то вроде localdomain.local.