Thanks for the good mention, chanio. Frankly, I have no idea why, say, I never took the time to look into NMS. I still believe my script is different and I'll stick to using it, with a few minor security fixes in place. Personally, I believe it's different from the one offered through NMS and I find (oddly enough, heh) it to be easier to use. Since I began writing my own mailer script some three years ago (at which time, I doubt, NMS version was in place anyway), it's been always a work in progress.
Looking back, I don't know what devil pushed me to package it up for public consumption. I should really think twice next time.. or at the least, maybe post it in the Discussion session for some constructive criticism.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce
the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true."
Robert Wilensky, University of California
Well, I used to like Matt's scripts, anyway. He had the spirit of the first american people that populated North America. In other words, he did it all by himself. Not using CPAN modules.
Then, other fans like me (or that just wanted to correct Matt's big and famous mistakes: NMS), rewrote all those well known scripts correcting all their security flaws and adding some tested modules.
Why? Because, modules are like 'cans' of experience in specific aspects. I wouldn't dare to write better ones without spending some years in the effort. They are done by people that have to deal with certain issues because of their work and afterwards they decide to share their experience with the perl community to make all our jobs easier, better and 'safer'.
Normally, after trying coding all by myself (without any module), the next step is doing a newer version all handled by modules. It is very easy after I have understood all what was required to do it on my own. It is a safer code because there are lots of security aspects to take into acount in order to put my code in the web.
We all have to learn this lesson, since it is never well explained from the start. Don't worry. Next code published, try to do it simpler or with modules. That's all!