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)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.