I´m not sure about using a loop for that. Anyway, a good idea could be using mail's Bcc (Blind Carbon Copy), but... i´m not sure about the limit (for email addresses) of this one.
About sending emails periodically.
Alicia, you can run your script using a cronjob set to your preferred date and time. And the permissions just like ruturajv said.