diff --git a/lib/mailsender.go b/lib/mailsender.go
index f97d71bec55db08d63b0fcd36c3b7f768faa3c91_bGliL21haWxzZW5kZXIuZ28=..40617257fb17d9e8aa7c37ac488ebde9afaecc41_bGliL21haWxzZW5kZXIuZ28= 100644
--- a/lib/mailsender.go
+++ b/lib/mailsender.go
@@ -105,6 +105,12 @@
 	log := zerolog.Ctx(ctx)
 
 	for {
+		if ctx.Err() != nil {
+			log.Debug().Msg("mailsender: context done, stopping")
+
+			return
+		}
+
 		if err := s.handle(ctx, db); err != nil {
 			if errors.Is(err, sql.ErrNoRows) {
 				log.Debug().Msg("no mail in the queue")