Prime opportunity to share a funny story of how things can go wrong:
I ran a small business while in college that needed some custom web development work done. We got quoted at $60k from a US company, so needless to say we said "Screw you!" So I did the next logical thing and learned PHP/HTML/jQuery, etc. and made the website myself (I'd had some programming background already, so it wasn't so crazy a leap). It needed to accept credit card payments, serve as a content management system, do more complex route management (think drivers with 100s of addresses to serve), and so on. I finally overcame all of that, and put out a "decent" product for a first-time developer (
www.tcugameday.com for anyone that's interested; all custom, no "plugins").
Long story short(er), after all this learning and first-time development that went well, we one day had the need to send a mass mailer out to all of our customers, to include: our university's athletic director, chancellor, dean of the business school, etc. I learned about some PHPMail plugin or some crap, and decided this would do. Welp... I did not know that you either have to "clear" the recipients list before each email, or re-instantiate the class between each email. Instead, I had the .php script simply create a single class instance, add a sender, send the mail, then add a new sender, and send the next mail, and so on.
Our first email went out just fine; it was addressed to a single person and only they received it. The second email, though, simply appended the new recipient to the recipients list. So the first customer and second customer got the email only the second customer should've received. Well, fast forward to our ~500th customer, and we had now sent out a total of 125,250 emails to 500 people, with the first customer receiving 500 total emails, the second customer receiving 499, and so forth... OOPS! I think I spent the next two days answering phone calls, most laughing with/at me, some pissed off.
It must be my destiny that I'm a part of TEST now!