Praktik interval coba lagi antrian surat


8

Saya mengkonfigurasi antrian surat yang dibuat khusus. Masalahnya adalah mungkin ada kesalahan mengirim email. Biasanya, orang tidak akan tahu alasan mengapa surat itu tidak mencapai tujuannya. Jadi solusi yang paling sederhana adalah mencoba mengirim email lagi. Berikut adalah beberapa algoritma yang saya tahu dari mulut:

  • Gandakan waktu dalam antrian untuk mencoba lagi mulai beberapa saat: 1 menit, 2 menit, 4 menit, dll.
  • Tentukan serangkaian interval (yang merupakan kasus umum dari opsi sebelumnya): 5 menit, 5 menit, 10 menit, 30 menit, dll.

Pada titik tertentu tidak ada gunanya mencoba mengirim surat lagi. Bagaimanapun, sistem menyertakan log untuk surat yang tidak terkirim.

Apa yang Anda ketahui tentang praktik yang baik di sekitar masalah ini? Apa itu interval tahan "baik"? Setidaknya, fakta apa yang harus saya perhitungkan untuk memilih interval?

Jawaban:


6

Anda harus mengikuti RFC 5321 yang secara eksplisit menyatakan bagaimana menerapkan Strategi Coba Lagi: http://tools.ietf.org/html/rfc5321#section-4.5.4

Anda harus benar-benar membaca (dan mengerti!) RFC ini ketika Anda mencoba menerapkan server surat Anda sendiri. Tetapi saya harus secara eksplisit menekankan bahwa hampir tidak perlu untuk mengimplementasikan server mail Anda sendiri (klien). Ada banyak solusi yang sudah ada (teruji!) Yang produktif selama bertahun-tahun dan puluhan tahun. Jadi gunakan perangkat lunak yang ada alih-alih mulai dari awal. Ini tidak sebanding dengan masalah yang akan Anda hadapi. Apakah Anda mengetahui IPv6? Jika tidak, Anda harus!


3
Tentu saja tidak ada kewajiban keras untuk tetap berpegang pada RFC, tetapi sangat disarankan jika sistem perlu bekerja di internet suatu hari nanti. Walaupun mungkin ada alasan untuk menerapkan antrian surat sendiri, saya sepenuhnya setuju bahwa kode yang ada yang digunakan dalam perangkat lunak server surat harus digunakan kembali alih-alih menciptakan kembali roda.
the-wabbit
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.