Saya akan menulis ulang pertanyaan Anda menjadi:
Bagaimana saya bisa menggunakan _header_checks yang berbeda untuk smtpd (port 25) dan pengiriman (port 587)?
Masalah kanonik ini dapat dibagi dengan beberapa kondisi
- Saya ingin mematikan header_checks untuk salah satu smtpd atau pengiriman.
- Saya ingin menjalankan header_check yang berbeda untuk smtpd dan pengiriman.
1. Saya ingin mematikan header_checks untuk salah satu smtpd atau pengiriman.
Sebagai contoh saya berasumsi bahwa Anda ingin mematikan header_checks untuk pengiriman (email keluar) .
Solusi 1: metode accept_override_options
Anda dapat menggunakan parameter postfix yang disebut accept_override_options . Dengan parameter, Anda dapat mengganti sakelar global header_check, sehingga filter tidak akan berjalan. # main.cf header_checks = pcre: / path / ke / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Peringatan: ini akan mematikan SEMUA _header_checks dan body_checks didefinisikan dalam man 5 header_checks . Untuk kontrol yang diselesaikan, parameter mana yang akan dimatikan, lihat Solusi 2.
Solusi 2: Beberapa metode layanan pembersihan
Kami dapat menggunakan beberapa teknik pembersihan layanan untuk masalah Anda seperti *_header_checks
yang dilakukan oleh layanan pembersihan . Anda dapat melihat contoh pengaturan ini di tutorial baru amavisd .
Parameter ajaib untuk konfigurasi ini adalah cleanup_service_name . Dengan parameter ini, kita dapat menggunakan layanan pembersihan yang berbeda untuk setiap proses smtpd. Pertama kita mendefinisikan satu layanan pembersihan tambahan (disebut no-headerchecks) di master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
Dalam pembersihan ini, kami mendefinisikan mime_header_checks kosong untuk menonaktifkan pemfilteran. Langkah terakhir adalah memberi tahu layanan pengiriman untuk menggunakan cek tidak-header kami
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Saya ingin menjalankan header_check yang berbeda untuk smtpd dan pengiriman.
Untuk masalah ini, Anda dapat menggunakan beberapa metode layanan pembersihan seperti dijelaskan di atas.
Pertama, kita mendefinisikan satu layanan pembersihan tambahan (disebut header-cek kedua) di master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
Dalam pembersihan ini, kami mendefinisikan mime_header_checks kedua ke tabel PCRE lainnya. Langkah terakhir adalah memberi tahu layanan pengiriman untuk menggunakan cek tajuk kedua kami
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
catatan:
Kasing Anda terlihat mirip dengan pertanyaan ini . Sayangnya jawaban dari Laurentiu Roescu hanya berfungsi jika Anda ingin mengaktifkan header_checks untuk email keluar yang menggunakan smtp sebagai transport. Berita baiknya adalah kalimat pertamanya tentang cleanup
daemon memberi kita ide untuk solusi kedua.
Beberapa metode layanan pembersihan dapat diterapkan jika Anda ingin header_checks, body_checks dan parameter lain yang berbeda didefinisikan dalam man 5 header_checks
.