I'd suggest using a database for several reasons :
- It will provide you an easy way to suspend/resume a mailing (using a status column)
- You'll have to store your data outside the scripts (to update/manage the addresses, beccause the size may grow...) :
The database's choice is the best (IMHO) beccause it can handle (easily) concurent access
(You can imagine using several mailing script accessing the same email database from different servers to lighten the SMTP load on each server, or even several Web page accessing the database to manage the list...)
UPDATE :
Now for more general guidelines :
I'd also suggest that you add some error checking (what if the open fails ?)
Checking the data adresses, and submited fields for weird characters/validity, may be a good idea too.
MZSanford point out a right problem, you should may be at least put several adresses on the CC or BCC field, to reduce the number of time you open sendmail if you want to keep this method...
"
Only
Bad
Coders
Code
Badly
In
Perl" (OBC2BIP)