Якийсь віддалений сервер SMTP я намагаюся доставити пошту, щоб відмовитись приймати HELO від свого сервера:
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname
Мабуть, мій сервер Exim4 надсилає localhost
як FQDN. Шукаючи мережу та купу конфігураційних файлів, я дізнався, що значення, надіслане як FQDN під час HELO, черпається із primary_hostname
змінної конфігурації.
Моє запитання: який правильний спосіб зміни цієї змінної в системі Debian? Я думаю, що я можу просто зафіксувати значення файлів конфігурації Exim4, але IMHO, мабуть, матиме більше сенсу, якби значення автоматично відповідало /etc/mailname
чи іншому конфігурації централізованого імені.
У мене є відчуття, що відповідь на моє запитання можна знайти в цьому тексті з вікі Debian :
Ім'я, яке використовує Exim в EHLO / HELO, виведене з параметра налаштування
primary_hostname
. Конфігурація за замовчуванням у Debian не встановленаprimary_hostname
. Тоді Exim за замовчуванням значить Uname (), щоб знайти ім'я хоста. Якщо цей виклик повертає лише один компонент, для отримання повноцінного імені хоста використовується gethostbyname () або getipnodebyname ().Якщо ваші Exim HELO в якості localhost.localdomain, то, швидше за все, ви неправильно налаштували / etc / hosts, створені деякими версіями інсталятора Debian. У цьому випадку виправте / etc / hosts.
На жаль, я недостатньо знайомий з адміністрацією сервера Linux, щоб точно знати, що все це означає :(
hostname -f
як і раніше повідомляє "localhost". Частина про / etc / hosts у вашій відповіді здається баггі - як має виглядати перший запис?