Коли exim4 надсилає HELO / EHLO, як я можу налаштувати, яке ім'я хоста воно надсилає?


12

Листи з моєї системи відхиляються, коли сервер, що приймає, робить перевірку HELO. Я вважаю, що моя система надсилає неправильне доменне ім’я. Я запускаю exim4. Гуглінг за будь-чим щодо exim4 та доменів дає кошмарний список нерелевантних результатів. Аналогічно, гуглінг для відхилень HELO створює масу користувачів із перспективою, яким потрібно ввімкнути аутентифікацію SMTP. Я не можу на все життя розібратися з цим простим запитанням: яке ім'я хоста відправляється exim і як його змінити?

На жаль, я не можу спостерігати за тим, що exim надсилається по дроту, тому я не можу сам налагодити це. Я сподіваюся, що хтось мав цю проблему і просто знає :).

Відповіді:


15

Припускаючи, що помилка скаржиться на дані HELO / EHLO, ви хочете скористатися параметром helo_data на транспорті smtp. За замовчуванням - $ basic_hostname.

remote_smtp:
    driver = smtp
    helo_data = host.example.com

Більше інформації розміщено в посібнику .

Якщо це не так, ви, ймовірно, хочете включити деякі приклади повідомлень про відхилення. Всього тризначний код і рядок після цього.


Спасибі! Після ще 10 хвилин читання про те, як навіть змінити налаштування exim4 в системі, що базується на debian, я встановив імя_файла_встановлення на FQDN у /etc/exim4/exim4.conf.template та перезапустив exim4. Це зробив трюк! Моє ім'я хоста відрізняється від FQDN, і я не використовую minimal_dns, таким чином, первісну проблему. Крім того, лише змінивши ваше посилання вручну, я зміг навіть знайти документи на Primary_hostname (exim настільки google-trashed!). Знову дякую!

Напевно, ви не хочете оновлювати цей файл. Я рекомендую запустити update-exim4.conf --keepcomments, а потім скопіювати /var/lib/exim4/config.autogenerated в /etc/exim4/exim4.conf, а потім змінити цей файл.
Девід Пашлі

4

Команда

sudo dpkg-reconfigure exim4-config

повинен запропонувати вам використовувати основне ім'я хоста.


3

У Debian (Lenny) я виявив, що ви вказали ім'я хоста, /etc/hostnameале це не розпізнається до перезавантаження.

$ hostname newhostname

встановлює його відразу (але втрачається при перезавантаженні, тому вам доведеться зробити два).

Здається, exim4 повідомляє те саме uname -n, що і я виявив, що це корисний спосіб тестування.


2

Яке ім'я хоста надсилається exim?

Ім'я HELO можна знайти в журналах exim4. Зупиніть демон exim4, а потім перезавантажте його вручну з увімкненою налагодженням:

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

( 2>&1|egrep 'HELO|EHLO'частина є необов'язковою, вона просто перенаправляє stderr на stdout, потім передає журнал egrep, в який буде фільтруватися все, крім рядків, що містять HELO або EHLO).

Надішліть електронний лист, і в наступній формі має бути один або два рядки:

SMTP>> EHLO foobar.example.com

Ім'я HELO є foobar.example.com.

Також є кілька корисних інструментів перевірки в Інтернеті, які надають цю інформацію (та багато інших корисних), наприклад:

  • https://www.mail-tester.com (будьте обережні, лише 3 безкоштовні чеки електронної пошти на день);
  • check-auth@verifier.port25.com (безкоштовно);
  • mailtest@unlocktheinbox.com (більшість його відгуків не є безкоштовними, але для цього вони є).

Як це змінити?

Замість редагування транспортного файлу, як запропонував Девід, я б скоріше скористався постійними визначеннями exim4 (?) І встановив ім'я в /etc/exim4/conf.d/main/00_local_settings(у розділеній конфігурації), наприклад:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Не забудьте запустити update-exim4.confраніше, щоб перезапустити exim4.

Я встановлюю імя_мастера_файла […] у /etc/exim4/exim4.conf.template

Як згадував Девід, це, мабуть, не найкраща ідея. У розділеній конфігурації ви можете встановити основне ім'я хоста, додавши його

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

в /etc/exim4/conf.d/main/00_local_settings. Здається, це було б PRIMARY_HOST_NAMEу монолітній конфігурації exim4.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.