То сообщение об ошибке появляется, потому что почтовый клиент отправляет только пустое имя хоста ("PLLAMNAZIFE"), а не полностью определенное имя хоста (например, "PLLAMNAZIFE.example.com") в HELO
/EHLO
часть транзакции SMTP и Ваш Постфиксный сервер настроены для отклонения такой почты.
Много почтовых клиентских программ не отправляют правильно форматированные, полностью определенные, допустимые имена хостов в HELO
/EHLO
. Так как необходимо принять такую почту от оплаты клиентов и иметь минимальный контроль над тем, какой почтовый клиент они используют (и потому что HELO
проверки действительно не имеют большого применения в блокировании спама), вероятно, лучше отключить HELO
проверки.
Отключить HELO
проверки, удалите следующие две строки из своей Постфиксной конфигурации:
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
Еще лучше удалите все smtpd_helo_restrictions = ...
правило и smtpd_helo_required = yes
.
Мне потребовалось много времени, чтобы решить эту проблему
Я использую сервер centos и получаю ответное письмо с сообщением об ошибке "Команда Helo отклонено: требуется полное имя хоста "
В итоге я включил" Ссылку / etc / mailhelo для исходящего SMTP HELO [?] " Он находился в" диспетчере конфигурации exim ", а затем в" Домены и IPS "на сервер VPS
Затем я использовал putty и удалил его на сервер и выполнил эту команду "sudo nano / etc / mailhelo"
В этом файле я создал домены example.com: example.com { {1}} sub.example.com: example.com example.net: example.net addon.example.net: example.net *: hostname.example. com
(согласно http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/EximDifferentIps )
Я протестировал отправку электронной почты, и пока все выглядит хорошо
Переменная имени хоста для вашего почтового сервера недействительна.
Попробуйте изменить значение поля myhostname
с /etc/postfix/main.cf
со значения по умолчанию на имя хоста (например, yourwebsite.com
или mail.yourwebsite.com
)
Вы можете обойти ограничения HELO для аутентифицированных пользователей, вставляя PERMIT_SASL_AUTHENTENTATION
, прежде чем отклонить правила в SMTPD_HELO_RESTIONS
:
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
permit
Это не ваш почтовый сервер e -, который отклоняет клиента, а внешний SMTP-сервер, который отклоняет сообщение от вашего SMTP-сервера, проблема в том, что ваш SMTP-сервер не отправляет свое полное доменное имя в сообщении helo при общении с другими серверами.
Обычно это можно решить, добавив общедоступный IP-адрес в файл hosts с полным доменным именем в файл /etc/hosts. Вот так:
1.1.1.1 хост host.domain.com
127.0.0.2 host.domain.com хост
Где 1.1.1.1 — официальный IP-адрес.
У меня была эта проблема, и мне не помогло то, что DNS работал в обоих направлениях вперед/назад на общедоступном IP-адресе, и у меня был только мой собственный сервер имен в /etc/resolv.conf. Даже имя хоста -f вернуло правильное. Мне по-прежнему приходилось помещать IP-адрес и имя хоста в /etc/hosts, чтобы sendmail действительно использовал полное доменное имя, а не просто короткое имя хоста.
Если вы подключаетесь к серверу через порт 25, убедитесь, что в строке 220 указано полное доменное имя, а не только хост. Вот так:
220 host.domain.com ESMTP Sendmail 8.15.2/8.15.2/SuSE Linux 0.8; Пн, 9 июля 2018 г. 18 :19 :48 +0200
Иногда на сервере происходят сбои. Вызвано, например, почтовыми атаками.
Сначала попробуйте перезапустить сервер. Затем отключите почту на сервере и снова включите ее через 15 секунд.
Иногда команда HELO отклонена из-за того, что почта не может загрузить новые антивирусные определения -; как AmaVis, который используется на серверах Apple. Перезапуск и выключение/включение почтового приложения на сервере решает эту проблему. Ваше здоровье.
При запуске hostname -f
я получал не -доменное имя. Поэтому я погуглил без домена в «hostname -f» . Оказалось, что мне нужно отредактировать/etc/hostname
(Я на Debian ), чтобы решить проблему. После этого и hostname -f
, и helo
использовали полное имя хоста.