Apa cara terbaik untuk mem-parsing tajuk email terpental (tidak terkirim) yang dikirim kembali ke server saya dan menentukan apakah itu bouncing lunak atau keras?
Saya hanya mengirim email opt-in ke pengguna saya, tetapi kadang-kadang beberapa alamat email menjadi basi. Ketika sebuah email memantul kembali ke server saya, saya ingin mengetahui mengapa email itu memantul (lunak / keras). Kemudian saya bisa mengatasinya dengan tepat di database saya dan / atau menandai pengguna untuk memperbarui email mereka ketika login berikutnya.
Saya menggunakan Ubuntu dan Postfix. Saya telah berhasil mengimplementasikan VERP dengan alias dan alias virtual. Jadi, email yang terpental memiliki jalur pengembalian [email protected] , dan saya dapat mengirimnya ke skrip.
Sekarang saya memiliki pengaturan VERP, saya tahu kepada siapa email asli dikirim, tetapi saya perlu menguraikan header surat yang dikembalikan untuk mencari tahu apakah itu bouncing lunak atau bouncing keras.
Apa cara terbaik untuk menangani ini? Seperti yang saya pahami, tidak semua server email bermain dengan aturan yang sama, dan header dapat memiliki berbagai format. Apakah ada proyek open source yang melacak hal-hal semacam ini? Sesuatu yang sederhana yang dapat saya terapkan yang akan mengkategorikan sebagian besar bouncing dengan benar?
Saya mencoba melindungi reputasi server email saya, jadi bantuan apa pun sangat kami hargai!
sumber
grep " dsn=5." /var/log/mail.log | pcregrep -o1 " to=<(.+?)>" | sort | uniq -c
Umumnya ada dua jenis bouncing
Kasus pertama sudah dicakup oleh jawaban yang sangat baik oleh Esa Jokinen di atas. Taruhan terbaik Anda adalah mengurai maillog.
Kasus kedua adalah kasus bouncing khusus. Skenario contoh:
Di sini contoh email tipe kedua memantul. Ada aturan penerusan server email Yahoo [email protected] -> [email protected] . Sayangnya mail server dari example.net menolak pesan :(
Untuk kasus ini, satu-satunya metode Anda adalah mengurai pesan bouncing. Sayangnya tidak ada format bouncing standar, jadi Anda harus mengurai tubuh dan menentukan penolakan yang disebabkan.
Daftar periksa fitur parsing postfix bouncing Anda:
Untuk fitur kedua, Anda dapat google beberapa pesan penolakan umum. Contohnya adalah bouncing-regex-list.xml oleh Jakub Liska ini .
Esa Jokinen membuat poin bagus dalam komentar di bawah tentang dua tipe bouncing ini. Jika sasaran Anda adalah menjaga reputasi server, maka menangani jenis bouncing pertama sudah cukup. Bouncing kedua adalah tentang membersihkan daftar Anda. Jadi email yang mati harus dihapus sehingga membebaskan beberapa sumber daya di server Anda.
Beberapa pengelola milis seperti PHPlist dan Mailman juga menangani masalah bouncing ini dengan mem-parsing badan email karena mereka tidak memiliki sumber daya untuk mem-parsing maillog.
sumber