Kiedy exim4 wysyła HELO / EHLO, jak skonfigurować, którą nazwę hosta wysyła?


12

E-maile z mojego systemu są odrzucane, gdy serwer odbierający sprawdza HELO. Wydaje mi się, że mój system wysyła niewłaściwą nazwę domeny. Korzystam z exim4. Googlowanie po cokolwiek na temat exim4 i domen daje koszmarną listę nieistotnych wyników. Podobnie, wyszukiwanie w odrzuceniach HELO daje hordę użytkownikom perspektyw, którzy muszą włączyć uwierzytelnianie SMTP. Nie mogę przez całe życie zrozumieć tego prostego pytania: która nazwa hosta jest wysyłana przez exim i jak to zmienić?

Niestety, nie mogę obserwować, co exim wysyła przez sieć, więc nie mam sposobu, aby sam to debugować. Mam nadzieję, że ktoś miał ten problem i po prostu wie :).

Odpowiedzi:


15

Zakładając, że błąd narzeka na dane HELO / EHLO, chcesz użyć opcji helo_data w transporcie smtp. Domyślnie jest to nazwa_hosta_podstawowego

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

Więcej informacji znajduje się w instrukcji .

Jeśli tak nie jest, prawdopodobnie chcesz dołączyć przykładowe wiadomości o odrzuceniu. Tylko trzycyfrowy kod i ciąg po nim.


Dzięki! Po 10 minutach czytania o tym, jak nawet zmienić ustawienie exim4 w systemie opartym na Debianie, ustawiłem nazwę podstawową hosta na FQDN w /etc/exim4/exim4.conf.template i zrestartowałem exim4. To załatwiło sprawę! Moja nazwa hosta jest inna niż nazwa FQDN i nie używam minim_dns, więc pierwotny problem. Dodatkowo, tylko poprzez modyfikację twojego ręcznego linku udało mi się znaleźć dokumenty na primary_hostname (exim jest taki zniszczony!). Dzięki jeszcze raz!

Prawdopodobnie nie chcesz aktualizować tego pliku. Poleciłbym uruchomienie update-exim4.conf --keepcomments, a następnie skopiowanie /var/lib/exim4/config.autogenerated do /etc/exim4/exim4.conf, a następnie zmodyfikowanie tego pliku.
David Pashley,

4

Komenda

sudo dpkg-reconfigure exim4-config

powinien wyświetlić monit o podanie podstawowej nazwy hosta.


3

Na Debianie (Lenny) odkryłem, że ustawiłeś nazwę hosta, /etc/hostnameale nie jest to rozpoznawane aż do ponownego uruchomienia.

$ hostname newhostname

ustawia go od razu (ale jest tracony przy ponownym uruchomieniu, więc musisz zrobić dwa).

exim4 wydaje się raportować tak samo, jak uname -ni znalazłem przydatny sposób na przetestowanie.


2

Jaką nazwę hosta wysyła exim?

Nazwę HELO można znaleźć w logach exim4. Zatrzymaj demona exim4, a następnie uruchom go ponownie ręcznie z włączonym debugowaniem:

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

( 2>&1|egrep 'HELO|EHLO'część jest opcjonalna, po prostu przekierowuje stderr na stdout, a następnie egreppotokuje dziennik do , który będzie filtrował wszystko oprócz linii zawierających HELO lub EHLO).

Wyślij wiadomość e-mail, a powinna być jedna lub dwie linie w następującej formie:

SMTP>> EHLO foobar.example.com

Nazwa HELO to foobar.example.com.

Istnieje również kilka przydatnych narzędzi do sprawdzania online, które dostarczają tych informacji (i wiele innych przydatnych), np .:

  • https://www.mail-tester.com (uwaga, tylko 3 bezpłatne kontrole e-mail dziennie);
  • check-auth@verifier.port25.com (bezpłatny);
  • mailtest@unlocktheinbox.com (większość opinii nie jest darmowa, ale w tym celu jest).

Jak to zmienić?

Zamiast edytować plik transportowy, jak sugerował David, wolałbym używać stałych definicji exim4 (?) I ustawiać nazwę w /etc/exim4/conf.d/main/00_local_settings(w konfiguracji podzielonej), np .:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Nie zapomnij uruchomić update-exim4.confwcześniej, aby zrestartować exim4.

Podstawową nazwę hosta […] ustawiam w /etc/exim4/exim4.conf.template

Jak wspomniał David, prawdopodobnie nie jest to najlepszy pomysł. W konfiguracji podzielonej możesz ustawić podstawową nazwę hosta, dodając

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

w /etc/exim4/conf.d/main/00_local_settings. Wygląda na to, że byłby PRIMARY_HOST_NAMEw monolitycznej konfiguracji exim4.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.