Saya telah berhasil mengatur Postfix untuk menyampaikan email melalui Mandrill menggunakan SASL dan sender_dependent_relayhost_maps
dengan tabel MySQL sehingga pengirim yang berbeda terhubung ke Mandrill menggunakan nama pengguna Mandrill mereka sendiri dan kunci API.
Sejauh ini bagus, tapi saya punya tiga pengguna yang semuanya menggunakan Penyedia Layanan Email dan Pengirim di amplop pesan diatur ke "[email protected]" untuk ketiga pengguna, dan satu-satunya tempat yang berisi email pengguna sebenarnya alamatnya ada di header Dari: email .
Saya senang dengan keamanan (atau ketiadaan) menggunakan header Dari: email karena saya hanya meneruskan email yang dikirim ke alamat email tertentu yang dikontrol dengan ketat, tetapi saya akan sangat berterima kasih atas saran bagaimana saya bisa terbaik tentukan relayhost berdasarkan nilai header Dari : . Apakah ada cara untuk mengatur nilai amplop agar sama dengan bidang Dari? Atau cara lain untuk melakukan ini?
sumber
Jawaban:
Berdasarkan utas ini pada mailing-list postfix: transport yang berbeda untuk semua email yang diperkenalkan melalui sendmail (1) , sepertinya case Anda memungkinkan. Sayangnya Anda tidak bisa hanya mengandalkan dua tabel
sender_dependent_relayhost_maps
dansmtp_sasl_password_maps
. Anda perlu memodifikasimaster.cf
. Idenya menggunakanheader_checks
untuk merutekan email ke berbagai transportasi. Kemudian di setiap transportasi, kami mendefinisikan klien smtp yang menggunakan kredensial independen dan relayhost.Pertama, tentukan header_check di main.cf dan tabel pcre-nya
Baik, sekarang kita setup
smtp1
,smtp2
,smtp3
transportasi di master.cfFile
smtpX.relay
memiliki konten serupa misPenolakan:
smtp_sasl_password_maps
hanya sebagai contoh. Anda bisa menggantinya dengan tabel mysql.sumber
Ini bekerja untuk saya dengan satu perubahan: tindakan "FILTER" perlu ditambahkan dalam file header_dependent_relay :
Lihat http://www.postfix.org/header_checks.5.html
sumber