Ketika exim4 mengirim HELO / EHLO, bagaimana cara mengkonfigurasi nama host yang dikirimnya?


12

Mail dari sistem saya ditolak ketika server penerima melakukan pengecekan HELO. Saya percaya sistem saya mengirim nama domain yang salah. Saya menjalankan exim4. Googling untuk apa pun tentang exim4 dan domain menghasilkan daftar hasil buruk yang tidak relevan. Demikian pula, googling untuk penolakan HELO menghasilkan gerombolan pengguna pandangan yang perlu mengaktifkan otentikasi SMTP. Saya tidak bisa seumur hidup saya mencari tahu pertanyaan sederhana ini: yang hostname pengiriman exim dan bagaimana cara mengubahnya?

Sayangnya, saya tidak bisa melihat exim mengirim melalui kabel, jadi saya tidak punya cara untuk men-debug ini sendiri. Saya berharap seseorang memiliki masalah ini dan hanya tahu :).

Jawaban:


15

Dengan asumsi kesalahan mengeluh tentang data HELO / EHLO, Anda ingin menggunakan opsi helo_data pada transportasi smtp. Standarnya adalah $ primary_hostname.

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

Informasi lebih lanjut tersedia di manual .

Jika ini tidak terjadi, Anda mungkin ingin memasukkan beberapa contoh pesan penolakan. Hanya tiga digit kode dan string setelahnya.


Terima kasih! Setelah 10 menit membaca tentang bagaimana bahkan mengubah pengaturan exim4 pada sistem berbasis debian, saya mengatur primary_hostname ke FQDN di /etc/exim4/exim4.conf.template dan restart exim4. Itu berhasil! Nama host saya berbeda dari FQDN dan saya tidak menggunakan minimal_dns, jadi masalah aslinya. Plus, hanya dengan memodifikasi tautan manual Anda, saya bahkan dapat menemukan dokumen di primary_hostname (exim sangat google-trashed!). Terima kasih lagi!

Anda mungkin tidak ingin memperbarui file itu. Saya akan merekomendasikan menjalankan pembaruan-exim4.conf --keepcomments dan kemudian salin /var/lib/exim4/config.autogenerated ke /etc/exim4/exim4.conf dan kemudian modifikasi file itu.
David Pashley

4

Perintah

sudo dpkg-reconfigure exim4-config

seharusnya meminta Anda untuk menggunakan nama host utama.


3

Pada Debian (Lenny) saya menemukan bahwa Anda mengatur hostname di /etc/hostnametetapi bahwa ini tidak dikenali sampai reboot.

$ hostname newhostname

set itu segera (tetapi hilang saat reboot, jadi Anda harus melakukan keduanya).

exim4 tampaknya melaporkan hal yang sama uname -n, dan saya menemukan cara yang berguna untuk menguji.


2

Nama host mana yang dikirim exim?

Seseorang dapat menemukan nama HELO di log exim4. Hentikan daemon exim4, lalu mulai ulang secara manual dengan debugging diaktifkan:

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

( 2>&1|egrep 'HELO|EHLO'bagian ini opsional, itu hanya mengarahkan stderr ke stdout, lalu pipa log ke egrep, yang akan menyaring semuanya kecuali garis yang mengandung HELO atau EHLO).

Kirim email dan harus ada satu atau dua baris dalam formulir berikut:

SMTP>> EHLO foobar.example.com

Nama HELO adalah foobar.example.com.

Ada juga beberapa alat pemeriksaan online yang berguna yang menyediakan informasi ini (dan banyak lainnya yang berguna), misalnya:

  • https://www.mail-tester.com (waspadalah, hanya 3 cek email gratis per hari);
  • check-auth@verifier.port25.com (gratis);
  • mailtest@unlocktheinbox.com (sebagian besar umpan baliknya tidak gratis, tetapi untuk tujuan ini).

Bagaimana saya mengubahnya?

Alih-alih mengedit file transport seperti yang disarankan oleh David, saya lebih suka menggunakan definisi konstan exim4 (?) Dan mengatur nama /etc/exim4/conf.d/main/00_local_settings(dalam konfigurasi split), misalnya:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Jangan lupa untuk menjalankan update-exim4.confsebelum memulai ulang exim4.

Saya menetapkan primary_hostname [...] di /etc/exim4/exim4.conf.template

Seperti yang disebutkan oleh David, ini mungkin bukan ide terbaik. Dalam konfigurasi split, Anda dapat mengatur nama host utama dengan menambahkan

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

di /etc/exim4/conf.d/main/00_local_settings. Tampaknya itu akan berada PRIMARY_HOST_NAMEdalam konfigurasi exim4 monolitik.


0

Pengaturan yang Anda inginkan disebut primary_hostname .

Untuk debugging, Anda dapat menggunakan

tcpdump -A port 25

untuk menonton lalu lintas SMTP di ASCII.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.