Solusi standar adalah dengan menggunakan opsi header_checks . Namun, ini akan berhasil jika kami memfilter baris yang diterima pada semua email baik yang masuk maupun yang keluar (karena hal ini akan terjadi), kami berpotensi kehilangan Header yang diterima pada email yang dikirimkan kepada kami, yang dapat menjadi penting untuk pemecahan masalah. Untuk menyiasati masalah ini, kita akan menerapkan header_checks
hanya untuk email yang tidak mungkin telah dikirim kepada kami-mail yang dikirim ke pengajuan pelabuhan (Anda sedang menggunakan pelabuhan pengajuan , bukan? ).
Posting ini menjelaskan cara menerapkan header_checks
secara eksklusif ke port pengiriman. Yang perlu kita lakukan adalah meneruskan opsi cleanup_service_name ke layanan pengiriman sehingga kita dapat mengatur layanan pembersihan baru, "subcleanup." Bagian yang relevan /etc/postfix/master.cf
mungkin terlihat seperti ini:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
Sekarang kita bisa meneruskan header_checks
opsi ke layanan pembersihan baru. Bagian dari itu /etc/postfix/master.cf
mungkin terlihat seperti ini:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Terakhir, kita perlu membuat file /etc/postfix/submission_header_checks
, yang akan berisi regex yang menyaring baris header yang diterima yang menyinggung. Regex mana yang Anda masukkan ke dalam file tergantung pada apakah Anda telah smtpd_sasl_authenticated_header
menetapkan.
Jika smtpd_sasl_authenticated_header
adalah yes
, kemudian gunakan:
/^Received:.*\(Authenticated sender:/ IGNORE
Jika tidak, gunakan:
/^Received:.*\(Postfix/ IGNORE
(Terima kasih kepada Dominic P dan Bryan Drewery karena telah menunjukkan cara menangani kasus kedua.)
postmap submission_header_checks
?