GNU/Linux >> Belajar Linux >  >> Linux

Ketika exim4 mengirimkan HELO/EHLO, bagaimana cara mengonfigurasi nama host mana yang dikirimkannya?

Solusi 1:

Dengan asumsi error adalah keluhan tentang data HELO/EHLO, Anda ingin menggunakan opsi helo_data pada transpor smtp. Standarnya adalah $primary_hostname.

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

Informasi selengkapnya tersedia di manual.

Jika tidak demikian, Anda mungkin ingin menyertakan beberapa contoh pesan penolakan. Hanya kode tiga digit dan string setelahnya.

Solusi 2:

Perintah

sudo dpkg-reconfigure exim4-config

akan meminta Anda untuk menggunakan nama host utama.

Solusi 3:

Di Debian (Lenny) saya menemukan bahwa Anda menetapkan nama host di /etc/hostname tetapi ini tidak dikenali sampai reboot.

$ hostname newhostname

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

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

Solusi 4:

Nama host mana yang dikirim oleh exim?

Seseorang dapat menemukan nama HELO di log exim4. Hentikan daemon exim4, kemudian restart secara manual dengan debugging diaktifkan :

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

(2>&1|egrep 'HELO|EHLO' bagian adalah opsional, itu hanya mengalihkan stderr ke stdout, lalu menyalurkan log ke egrep , yang akan memfilter semuanya kecuali baris yang berisi 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 pengecekan online yang berguna yang menyediakan informasi ini (dan banyak lainnya yang bermanfaat), mis. :

  • https://www.mail-tester.com (hati-hati, hanya 3 cek email gratis per hari);
  • [email protected] (gratis);
  • [email protected] (sebagian besar umpan baliknya tidak gratis, tetapi untuk tujuan ini).

Bagaimana cara mengubahnya?

Alih-alih mengedit file transport seperti yang disarankan oleh David, saya lebih suka menggunakan definisi konstanta exim4 (?) dan menetapkan nama di /etc/exim4/conf.d/main/00_local_settings (dalam konfigurasi terpisah), mis. :

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Jangan lupa untuk menjalankan update-exim4.conf sebelum memulai ulang exim4.

Saya menyetel primary_hostname […] di /etc/exim4/exim4.conf.template

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

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

di /etc/exim4/conf.d/main/00_local_settings . Sepertinya itu adalah PRIMARY_HOST_NAME dalam konfigurasi monolitik exim4.


Linux
  1. Cara Mengonfigurasi Koneksi SSH Khusus untuk Menyederhanakan Akses Jarak Jauh

  2. Bagaimana cara mendapatkan file dengan nama yang benar saat dialihkan?

  3. Cara mengkonfigurasi nama domain asli untuk alamat pengirim

  1. Bagaimana Mengkonfigurasi Bashrc Untuk Menutup Semua Sesi Tmux Saat Saya Menutup Terminal?

  2. Cara mengatur subdomain atau meng-host beberapa domain menggunakan nginx di server linux

  3. Memecahkan masalah nama host yang diberikan bukan kesalahan yang valid

  1. Cara mengonfigurasi xhost agar persisten di seluruh reboot di Linux

  2. Cara Menginstal dan Mengkonfigurasi Kerberos di CentOS/RHEL 7

  3. Cara mengkonfigurasi host virtual Apache di ubuntu