Я запускаю postfix на своих серверах, чтобы веб-сайты могли отправлять почту. Я использую его как drop-in для sendmail
правильного.
При отправке электронного письма строка HELO, похоже, содержит localhost
. Это не было бы проблемой, если бы один из моих клиентов не сказал, что ему вернули электронное письмо от блокировщика спама, в котором говорилось, что это localhost
не может быть внутри строки HELO. Потрясающе.
Поэтому я отредактировал, /etc/mailname
чтобы это было мое основное доменное имя. И я отредактировал /etc/postfix/main.cf
так, чтобы:
smtpd_banner = ESMTP $mail_name
Однако вот что я вижу в заголовке отправленного письма (после перезапуска Postfix):
Delivered-To: [email protected]
Received: by 22.194.173.22 with SMTP id bi10csp117521wjc;
Tue, 2 Apr 2013 07:24:18 -0700 (PDT)
X-Received: by 10.68.22.168 with SMTP id pt8mr24540246pbb.10.1364912657736;
Tue, 02 Apr 2013 07:24:17 -0700 (PDT)
Return-Path: <[email protected]>
Received: from localhost (example.com. [22.22.22.22])
by mx.google.com with ESMTP id l6si2328296pao.283.2013.04.02.07.24.16;
Tue, 02 Apr 2013 07:24:17 -0700 (PDT)
Я заменил свой домен на example.com.
Что мне нужно отредактировать, чтобы положить конец злому правлению localhost
?!
решение1
Уррррр.
Я имеютолькозаметил, что там /etc/postfix/main.cf
была строка, которая гласила:
myhostname = localhost
Я изменил это на:
myhostname = example.com
И перезапустил. Все исправлено.
решение2
Для меня сработало smtp_generic_maps
добавление /etc/postfix/main.cf
:
smtp_generic_maps = hash:/etc/postfix/generic
Создайте /etc/postfix/generic
файл, если он не существует. Допустим, вы хотите заменить root@localhost, тогда сделайте следующее:
root@localhost [email protected]
Добавьте его в конфигурацию и перезапустите.
sudo postmap /etc/postfix/generic
sudo service postfix restart
Использованная литература:https://www.cyberciti.biz/tips/howto-postfix-masquerade-change-email-mail-address.html