Saya memiliki alias yang disiapkan di postfix, seperti berikut:
[email protected]: [email protected], [email protected] ...
Ketika email dikirim ke [email protected], dan salah satu penerima dalam alias itu adalah cc: ed yang sangat umum (yaitu: "Balas semua"), email tersebut dikirimkan dalam rangkap dua. Misalnya, jika email dikirim ke [email protected] dan [email protected] adalah cc: ed, itu akan dikirimkan dua kali. Menurut FAQ Postfix , ini adalah desain karena Postfix mengirim email secara paralel tanpa memperluas grup, yang membuatnya lebih cepat daripada sendmail. Nah, itu bagus dan keren, tetapi apakah mungkin untuk mengonfigurasi Postfix untuk benar-benar menghapus penerima duplikat sebelum mengirim email?
Saya telah menemukan banyak posting dari orang-orang di internet yang memiliki masalah yang sama, tetapi saya belum menemukan jawabannya. Jika ini tidak mungkin dilakukan di Postfix, mungkinkah melakukannya di suatu tempat di jalan? Saya sudah mencoba mendidik pengguna saya, tetapi agak sia-sia saya khawatir ...
Saya menjalankan postfix pada Mac OS X Server 10.6, amavis ditetapkan sebagai content_filter dan dovecot ditetapkan sebagai mailbox_command. Saya sudah mencoba mengatur procmail sebagai content_filter untuk pengiriman smtp (sesuai saran di bawah), tetapi sepertinya saya tidak bisa memperbaikinya. Untuk berbagai alasan, saya tidak dapat mengganti konfigurasi standar OS X, yang berarti postfix, amavis dan dovecot tetap bertahan. Namun saya dapat menambahkannya jika saya mau.
sumber
Jawaban:
Postfix tidak tahu tentang duplikat email karena cara itu terstruktur. Dimungkinkan untuk melakukan apa yang Anda sarankan dengan menggunakan procmail sebagai agen pengiriman Anda.
Pada dasarnya, setiap pesan yang berasal dari klien harus dikirim dengan Id-Pesan yang unik. Jika dikirim ke banyak orang, Message-Id harus sama, jadi kami menyimpan
Message-Id
tajuk yang kami lihat dan buang dan yang akan datang yang cocok dengan daftar itu.Dari http://novosial.org/procmail/
sumber
content_filter
yang akan memungkinkan Anda untuk melakukan tugas yang sama di tingkat globalAda cara bagaimana melakukannya, tetapi tidak menggunakan Postfix itu sendiri.
Jika Anda menggunakan Dovecot yang cukup baru dengan implementasi Pigeonhole dari Sieve , ada ekstensi khusus yang dapat digunakan untuk deduplikasi saat pengiriman. Di Dovecot yang lebih tua dari 2.2.18, nama ekstensi ini adalah "vnd.dovecot.duplicate" dan dinonaktifkan secara default, dalam rilis yang lebih baru ekstensi disebut "duplikat" dan harus sudah diaktifkan, tetapi mengaktifkannya secara eksplisit tidak akan membahayakan.
/etc/dovecot/conf.d/90-sieve.conf:
Kemudian buat skrip ayakan untuk menangani deduplikasi itu sendiri (Anda dapat menyesuaikan nama file sesuai keinginan Anda).
/mnt/mail/users/global_sieve/deduplicate.sieve:
Kompilasi skrip menggunakan sievec dan pastikan skrip dapat dibaca oleh pengguna dovecot . Lebih banyak dalam dokumen Dovecot.
Jika Anda menggunakan Cyrus, ada fitur penindasan pengiriman pesan duplikat yang dapat diaktifkan menggunakan
suppress_duplicates = yes
.sumber
duplicate
ekstensi bekerja di tingkat pengguna. Saya mencoba untuk menghentikan duplikat lebih dari satu pengguna ke / Cc-d difileinto
kotak surat pusat . Ini tidak bekerja Harus juga mengaturvirtual_alias_maps
entri catch-all postfix , seperti@domain.com [email protected]
, maka saringan duplikat cek akan mengenaicatchall
daftar duplikat pengguna.Sebuah solusi yang bekerja untuk saya adalah add
-o receive_override_options=no_address_mappings
onmaster.cf
Di sini dokumen: http://www.postfix.org/postconf.5.html#receive_override_options
sumber
Ini dari faq postfix lama:
Postfix mengirim surat duplikat Beberapa orang akan mengeluh bahwa Postfix mengirim pesan duplikat. Ini terjadi setiap kali satu pesan dikirimkan ke beberapa alamat yang menjangkau pengguna yang sama. Contoh skenario tersebut adalah:
Jadi dengan desain Anda melihat perilaku itu. Mungkin jika Anda menemukan filter konten yang dapat menghapus ID pesan duplikat, Anda dapat menghilangkannya setelah acara pengiriman.
Sendmail tidak memiliki masalah ini karena ia memperluas semuanya terlebih dahulu dan menghapus duplikat.
sumber
Solusi resmi ada di sini .. http://osdir.com/ml/mail.postfix.devel/2007-05/msg00010.html
duplicate_filter_limit (10000) Jumlah maksimal alamat yang diingat oleh filter duplikat penerima untuk alias (5) atau virtual (5) alias ekspansi, atau untuk tampilan antrian showq (8) (dengan rilis Postfix sebelumnya, batas defaultnya adalah 1000).
duplikat_filter_style (ketat) Kebijakan filter penerima duplikat: ketat atau pragmatis.
sumber
Saya meletakkannya di main.cf saya dan berfungsi dengan baik tetapi hanya untuk email yang dikirim dari domain saya. Saya masih memiliki duplikat jika saya mengirim email dari luar domain saya (yahoo ke domain saya misalnya.)
sumber: http://article.gmane.org/gmane.mail.postfix.user/119783
sumber