Pada aplikasi surat kami, kami mengirim email dengan tajuk berikut:
FROM: [email protected]
TO: [email protected]
Return-PATH: [email protected]
Masalah yang kita hadapi adalah beberapa server email akan segera mengembalikan pesan dan menggunakan jalur dari atau sebaliknya ([email protected]) sebagai gantinya ke server mgmt bouncing kami. Kami ingin tahu apakah kami memodifikasi di header jawaban untuk sama dengan jalur balik jika kami dapat menangkap semua bouncing.
Ada ide lain yang disambut?
Kami menggunakan dokumen-dokumen berikut sebagai referensi: VERP RFC Bounce Messages
Parsing Log SMTP untuk mendapatkan Bouncing
EDIT 1: Beberapa bit informasi lagi untuk melihat apakah kita dapat memperoleh tekad ini.
Kami ingin tahu pada titik mana server email yang menyampaikan pesan akan memilih untuk menggunakan jalur balasan versus jalur pengembalian. Kami telah memperhatikan bahwa ketika server smtp pertama menyampaikan pesan ditolak, ia mengirimkannya ke reply-to, tetapi ketika itu terjadi setelah satu hop mengirimkannya ke jalur kembali.
Jawaban:
Mari kita mulai dengan contoh sederhana. Katakanlah Anda memiliki daftar email, yang akan mengirimkan konten RFC2822 berikut .
Sekarang, katakanlah Anda akan mengirimkannya dari milis, yang mengimplementasikan VERP (atau mekanisme pelacakan bouncing lain yang menggunakan jalur pengembalian yang berbeda). Katakanlah ia akan memiliki jalur kembali
[email protected]
. Sesi SMTP mungkin terlihat seperti:Di mana {C} dan {S} masing-masing mewakili perintah Klien dan Server.
Surat penerima akan terlihat seperti:
Sekarang, mari kita gambarkan "FROM" yang berbeda.
MAIL FROM
perintah. Seperti yang Anda lihat, ini tidak perlu nilai yang sama dengan yang ditemukan di header pesan. Hanya server email penerima yang seharusnya menambahkan header Jalur-Kembali ke bagian atas email. Ini mencatat pengirim Jalur yang sebenarnya selama sesi SMTP. Jika header Jalur Kembali sudah ada dalam pesan, maka header itu dihapus dan diganti oleh server email penerima.Semua pantulan yang terjadi selama sesi SMTP harus kembali ke alamat Jalur Kembali. Beberapa server dapat menerima semua email, dan kemudian mengantri secara lokal, hingga memiliki utas gratis untuk mengirimkannya ke kotak surat penerima. Jika penerima tidak ada, itu harus memantulkannya kembali ke nilai Path yang dikembalikan.
Catatan, tidak semua server email mematuhi aturan ini; Beberapa server email akan memantulkannya kembali ke alamat FROM.
Alamat FROM adalah nilai yang ditemukan di header FROM. Ini seharusnya adalah siapa pesannya DARI. Ini adalah apa yang Anda lihat sebagai "DARI" di sebagian besar klien email. Jika email tidak memiliki tajuk Balas-Ke, maka semua balasan manusia (klien email) harus kembali ke alamat FROM.
Header Balas-Ke ditambahkan oleh pengirim (atau perangkat lunak pengirim). Di sinilah semua balasan manusia juga harus ditangani. Pada dasarnya, ketika pengguna mengklik "balasan", nilai Balas-Ke harus menjadi nilai yang digunakan sebagai penerima email yang baru dikomposisikan. Nilai Balas-Ke tidak boleh digunakan oleh server mana pun. Ini dimaksudkan hanya untuk penggunaan sisi klien (MUA).
Namun, seperti yang Anda tahu, tidak semua server email mematuhi standar atau rekomendasi RFC.
Semoga ini bisa membantu membereskan semuanya. Namun, jika saya melewatkan sesuatu, beri tahu saya, dan saya akan mencoba menjawab.
sumber
return-path
digunakan. Jikareturn-path
dimaksudkan sebagai alamat pengirim, mengapa server email penerima akan mengisi kolom ini sebagai ganti pengirim? Bagaimana server penerima tahu apa yang harus dimasukkan ke sana? Bukankah ini kelihatannya terbalik?Sender:
header cocok dengan semua ini?Cara lain untuk berpikir tentang
Return-Path
vsReply-To
adalah membandingkannya dengan surat siput.Ketika Anda mengirim amplop melalui pos, Anda menentukan alamat pengirim . Jika penerima tidak ada atau menolak email Anda, kepala kantor pos mengembalikan amplop ke alamat pengirim. Untuk email, alamat pengirim adalah
Return-Path
.Di dalam amplop mungkin berupa surat dan di dalam surat itu mungkin mengarahkan penerima untuk "Kirim korespondensi ke alamat contoh ". Untuk email, alamat contohnya adalah
Reply-To
.Intinya, Alamat Pengembalian Pos sebanding dengan
Return-Path
tajuk SMTP dan tajuk SMTPReply-To
serupa dengan instruksi balasan yang terkandung dalam surat.sumber
Return-Path
header ditambahkan oleh server email penerima dan bukan oleh pengirim . Jadi lebih seperti ini: Anda dapat menulis alamat apa pun yang Anda inginkan di dalam amplop, tetapi untuk mengirimkannya Anda harus membawanya ke kantor pos dan menunjukkan kepada mereka SIM (atau ID lain) dan mereka memasukkan alamat itu di amplop sebelum mengirimnya. Dengan kata lain,Return-Path
header sama tepercayainya dengan pemeriksaan yang dilakukan oleh server SMTP penerima, di mana yang lainnya dapat dengan mudah dipalsukan.bagi mereka yang tiba di sini karena judul pertanyaan:
Saya menggunakan
Reply-To:
alamat dengan formulir web. ketika seseorang mengisi formulir, halaman web mengirim email otomatis ke pemilik halaman. ituFrom:
adalah alamat pengirim surat otomatis, jadi pemilik tahu itu dari formulir web. tetapiReply-To:
alamatnya adalah yang diisi dalam formulir oleh pengguna, sehingga pemilik dapat menekan balasan untuk menghubungi mereka.sumber
Saya harus menambahkan header Jalur-Kembali dalam email yang dikirim oleh instance Redmine. Saya setuju dengan greatwolf hanya pengirim yang dapat menentukan Jalur Pengembalian yang benar (tidak standar). Kasusnya adalah sebagai berikut: Email dikirim dengan alamat email default: [email protected] Tapi kami ingin pengguna sebenarnya yang memulai tindakan menerima bouncing email, karena ia akan menjadi orang yang mengetahui cara memperbaiki email penerima yang salah (dan bukan administrator aplikasi yang memiliki cambuk kucing lain :-)). Kami menggunakan ini dan berfungsi dengan baik dengan exim di server aplikasi dan zimbra sebagai server email perusahaan terakhir.
sumber