Bu işlemleri şu şekilde yapabilirsin.
ben .net için örnek veriyim. Ama benzer işleri diğer programlama dilleri ile de yapabilirsin.
databasede gönderilecek maillerin bilgisini tutabilirsin.
Arkada bir job .nette timer iler gönderilmeyi bekleyen maillerin gönderimi yapar.
gönderdikçe gönderildi diye işaretler hata aldıysa hatamesajını yazar böylellikle gidenleri gönderilecekleri ve hata alanların bilgisini görebilirsin.
Asp.Net te uygulama başlarken tetiklenen belirli eventlar var burada timerlarını tanımlayabilirsin.
timer 10 saniyede bir gönderilecek mail var mı diye kontrol eder.
gönderilecek kayıtların mesela ilk 100 kaydını çeker göndermeye başlar gibi.
temel mantık bu şekilde kurgulanabilir.