Pratiche relative all'intervallo di tentativi della coda di posta


8

Sto configurando una coda di posta personalizzata. Il fatto è che possono esserci errori nell'invio della posta. Normalmente, non si saprà il motivo per cui la posta non ha raggiunto la destinazione. Quindi la soluzione più semplicistica è provare a inviare di nuovo la posta. Ecco alcuni algoritmi che conosco dalla bocca:

  • Duplica il tempo in coda per il prossimo tentativo a partire da un certo momento: 1 minuto, 2 minuti, 4 minuti, ecc.
  • Specificare una serie di intervalli (che sono un caso generale dell'opzione precedente): 5 min, 5 min, 10 min, 30 min, ecc.

A un certo punto sarà inutile provare a inviare di nuovo la posta. Ad ogni modo, il sistema include un registro per la posta non inviata.

Che cosa sai delle buone pratiche in materia? Che cos'è un intervallo di attesa "buono"? Almeno, quali fatti devo prendere in considerazione per scegliere gli intervalli?

Risposte:


6

È necessario seguire RFC 5321 che indica esplicitamente come implementare le strategie di tentativo: http://tools.ietf.org/html/rfc5321#section-4.5.4

Devi leggere (e capire!) Completamente questo RFC quando stai cercando di implementare il tuo server di posta. Ma devo sottolineare esplicitamente che non è quasi necessario implementare il proprio server di posta (client). Ci sono molte soluzioni già esistenti (testate!) Che sono produttive per anni e decenni. Quindi usa il software esistente invece di ricominciare da zero. Non vale la pena incontrarti. Sei a conoscenza di IPv6? Altrimenti dovresti!


3
Ovviamente non vi è alcun obbligo assoluto di attenersi alle RFC, ma è consigliabile che un giorno il sistema debba funzionare su Internet. Sebbene possano esserci motivi per implementare una propria coda di posta, sono pienamente d'accordo sul fatto che il codice esistente utilizzato nel software del server di posta debba essere riutilizzato anziché reinventare la ruota.
the-wabbit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.