Какой-то удаленный SMTP-сервер, на который я пытаюсь доставить почту, отказывается принимать HELO с моего сервера:
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname
По-видимому, мой сервер Exim4 отправляет в localhost
качестве своего полного доменного имени. Поиск в сети и куча файлов конфигурации, я узнал, что значение, отправленное как FQDN во время HELO, берется из primary_hostname
переменной конфигурации.
Мой вопрос: как правильно изменить эту переменную в системе Debian? Я предполагаю, что я могу просто жестко закодировать значение в одном из файлов конфигурации Exim4, но, по-моему, это будет иметь больше смысла, если значение автоматически соответствует /etc/mailname
или какой-либо другой централизованной конфигурации имени.
У меня есть ощущение, что ответ на мой вопрос можно найти в этом тексте в вики Debian :
Имя, используемое exim в EHLO / HELO, извлекается из опции конфигурации
primary_hostname
. Конфигурация Debian exim4 по умолчанию не установленаprimary_hostname
. Затем exim по умолчанию использует uname (), чтобы найти имя хоста. Если этот вызов возвращает только один компонент, gethostbyname () или getipnodebyname () используется для получения полного имени хоста.Если ваш exim HELOs называется localhost.localdomain, то, скорее всего, у вас неправильно настроен / etc / hosts, созданный некоторыми версиями установщика Debian. В этом случае, пожалуйста, исправьте ваш / etc / hosts.
К сожалению, я недостаточно знаком с администрацией Linux-сервера, чтобы точно знать, что все это значит :(
hostname -f
все еще сообщает "localhost". Часть о / etc / hosts в вашем ответе выглядит ошибочной - как должна выглядеть первая запись?