das bricht nicht mitten drin ab, außer der Server stürzt komplett ab und die Datenbank ist nicht mehr zu reparieren. In Kategorien würde ich die Empfänger nicht teilen, eher eine Regel erstellen und z.B. angeben sende nur an Empfänger mit id <20> 20.000 UND kleiner id<40.000 usw...
währe nur blöd wenn er mitten drinne abbricht, dann kriegen einige doppelt und dreifach oder garnicht, kann man die user in verschiedene kategorien stecken nachträglich? so das ich allen einzelnt verschicke? so kann man das ein bischen eingrenzen
So wie die Vorgaben sind, würde ich es erstmal lassen (200 vorbereiten, 200 versenden). Natürlich per CronJob versenden lassen und schauen wie sich der Server verhält und vor allem wie lange es dauert.