Cosa spiega che la stessa posta non viene inoltrata agli utenti almeno negli stessi 15 minuti?
La mia ipotesi sarebbe che hai un gran numero di persone a cui stai inoltrando la posta su una rete o un server relativamente occupato.
I server di posta spesso presentano ritardi quando non è possibile effettuare una transazione. Quando non è possibile effettuare una transazione, molti server di posta attenderanno un certo periodo di tempo (che può essere o non essere configurabile) prima di riprovare a inviare un determinato elemento di posta. Questo potrebbe accadere più volte di seguito.
Allo stesso modo, i server di posta eseguono spesso mailing di massa in batch. Una cosa da ricordare sull'invio di batch è che potrebbe esserci un ritardo automatico tra i batch per impedire che gli invii vengano trattati come spam o che travolgono il destinatario. Anche in questo caso questo ritardo può essere o non essere configurabile.
Il risultato è esaminare il server e la rete per individuare i colli di bottiglia che potrebbero ostacolare l'invio efficace della posta. Ma tieni presente che potrebbero esserci ritardi per i quali semplicemente non riesci ad adattarti.
Per inciso, mi sembra un malinteso comune che l'email sia istantanea. Non lo è, almeno non sempre. Potrebbe non dipendere da te, ma se desideri un metodo per distribuire le informazioni in modo efficace e immediato , una pagina web centralizzata con contenuti aggiornati o la messaggistica istantanea con qualcosa come Openfire può essere una buona strada.
Facciamo un gioco ...
Come esperimento mentale con i dati che hai pubblicato, immaginiamo una situazione in cui non è possibile avviare un batch fino al completamento dell'ultimo:
Lotto 1
1) Gli utenti 8 e 7 rispondono a causa del basso traffico di rete e le transazioni si completano rapidamente:
14:43:12 Object: TEST dst:user8@mydomain.com src: donotreply@otherdomain.com
14:43:18 Object: TEST dst:user7@mydomain.com src: donotreply@otherdomain.com
2) Sfortunatamente, c'è un picco nel traffico poco dopo l'invio dei primi due articoli e il rifiuto della transazione dell'utente 6. Il server di posta decide di attendere 5 minuti per riprovare, ma non riesce nuovamente alle 14:49. Quindi attende altri 5 minuti e la transazione ha esito positivo (ritardo di 10 minuti):
14:54:09 Object: TEST dst:user6@mydomain.com src: donotreply@otherdomain.com
3) La congestione è solo peggiorata. Ora ci sono 4 errori di transazione a intervalli di tentativi di 5 minuti per la transazione dell'utente 5 (ritardo di 20 minuti):
15:14:09 Object: TEST dst:user5@mydomain.com src: donotreply@otherdomain.com
Lotto 2
4) Il lotto 1 è terminato. In base ad alcune impostazioni, il server decide di attendere 10 minuti prima di iniziare l'elaborazione del batch 2 alle 15:24.
Il server di posta tenta di eseguire una transazione per l'e-mail dell'utente 4, la prima nel batch 2. Sfortunatamente, il picco di traffico continuo ha reso le transazioni riuscite relativamente impossibili, con conseguente ulteriore ritardo di 30 minuti (6 tentativi falliti). Ciò si traduce in un totale di 40 minuti prima che la prima e-mail in Batch 2 possa essere inviata:
15:54:09 Object: TEST dst:user4@mydomain.com src: donotreply@otherdomain.com
5) Per fortuna, il periodo di occupato è finito e il server di posta ora può completare rapidamente il resto delle transazioni di Batch 2:
15:54:09 Object: TEST dst:user3@mydomain.com src: donotreply@otherdomain.com
15:54:10 Object: TEST dst:user2@mydomain.com src: donotreply@otherdomain.com
15:54:10 Object: TEST dst:user1@mydomain.com src: donotreply@otherdomain.com