i comandi at non li setta l'utente ma te, ne crei uno che esegue lo script invio.php tutti i giorni alle ore 3:17 di notte (meglio le ore con carico basso)

lo script invia.php non deve fare altro che controllare in base alla data odierna chi deve ricevere la posta ed inviarla

quindi invia sempre a quelli che hanno scelto tutti i giorni, il lunedi (o il giorno che ti sembra migliore) a chi ha scelto settimanale mentre a chi ha scelto mensile invia solo il primo del mese

giocando con la composizione dinamica della query lo puoi fare con una query sola

sono stato chiaro , spero di si, altrimenti non esitare a chiedere