Since we have to to send e-mail notifications every now and then, I developed a small PHP page to build the e-mail and send it to all recipients individually, I mean, in a way that the To field doesn’t contain a huge list of e-mail addresses (doing that can be even illegal due to personal data protection laws, and is very ugly too ;)). The application grew and it currently does quite a bit of things, so I think it’s worth uploading its sources here.
What it does:
- Sends mail individually, so each recipient doesn’t know the addresses of the other ones.
- Parses the text in the To text entry, extracting only e-mail addresses.
- Sends mail with plain text or HTML.
- Can attach files.
- Can attach an image in the body of the e-mail.
What it doesn’t do (because I didn’t care when I wrote it :P):
- It doesn’t support concurrency; if two people use the application at once, the attached files are mixed.
- The attached files aren’t deleted automatically after sending the e-mail, but there’s a button to do it manually.
- The on-screen texts are only in Spanish, and they aren’t i18n-able.
Download the files: Massive mail application in PHP.
PS: I forgot! You’ll need the library PHP Mailer. Download and install it in your web server together with this application.
How many mails can I send in one single session?
@Eduardo
There isn’t any restriction in the code about the maximum number of mails that can be sent, but it can be limited by the timeouts you set in the execution of PHP code, and the time it needs to send each mail.
For your reference, in our server it takes about 45 seconds to send 100 mails of 1MB.