View Full Version : On writing an emailer
10-08-2007, 01:37 PM
We need to offer several clients the ability to send out HTML newsletters. So we need to create a site where we can:
- upload HTML files to be loaded into HTML emails
- upload CSV recipient data
- manage subscriptions and unsubscribes
I've looked at some commercial stuff; it's all a bit overkill for our needs. And expensive. I've looked at some open source stuff (notably PHPList) - it all looked like it wasn't really cut out for our needs, and changing it would be more trouble than writing something from scratch.
So - to my question. How feasible is it, technically, to write something in ASP that'll send out, say, up to 1000 copies of a HTML email at a time? What would you use to do it? CDOSYS? A third-party email component? What potential pitfalls might I have overlooked? And.. errr.. this might be a stupid one but would it be better to create one email and BCC everyone or send out individual emails?
10-08-2007, 02:47 PM
Hey Spudhead --
While you have asked some pretty good questions, I think that you know the answers to most of these just by your own experience. :)
I would use a 3rd party mailer, as they allow for things like queuing, SMTP Authentication, etc. (check out ASPEmail for one. It's free and does the two items above).
Uploading HTML to run as an emailer is simple, especially if you don't have to convert the text (i.e. you make the users write the HTML). If you have to write the HTML as well, look into using a WYSIWYG editor to do this task for you (and your users). FCKEditor and WebWiz have good WYSIWYG editors.
Upload CSV recipient data would be easy, too, as it's just a SPLIT() -> FOR NEXT loop.
I would send out individual emails, not BCC's. One email with 1000 BCC's is the same as 1000 individual emails. Besides, in the FOR NEXT loop when sending the email, you can personalize it a little better (i.e. Dear Mr Jones vs. Dear Member ). Just remember that you will need to use queuing or a pause in your code as to not overload your SMTP server.
HTH. Let me know if you have any other questions on this, as I have tackled this very problem before and have been successful with implementing the above strategies.
10-08-2007, 04:17 PM
Hey Deamon, What's a 3rd party program? And why is it better over just simply sending it using ASP?
10-08-2007, 04:21 PM
Hi :) Yeah, I've written stuff like it before but it was all a bit basic and, truth be told, used to knock hell out of our mail server :o The message queuing is new to me though, I might have to have a look at ASPEmail. We've got a bit of a funny setup on our mail server though, could be a bit of a pig to get them running together.
The rest of it... yeah, I'm not too worried about. It's just file uploads with some tricks. I think I was mainly asking in case someone was gonna say "for ****'s sake, don't mass-mail with ASP, it's not cut out for it, it'll slow your server to a crawl". Or in case anyone mentioned a 3rd-party solution I hadn't noticed. I don't think there is one suitable, though - it's gonna be easier to roll our own.
10-08-2007, 04:25 PM
10-08-2007, 04:31 PM
In all cases, 3rd party software is software developed for a proprietary package that is beyond the scope of the original design.
In this case, ASPEmail is an ASP email component, developed by Persits Software. Written in ASP with some DLLs and a Virtual Directory, it would do everything that Spudhead needs in a very simple, easy-to-use package.
I wouldn't use CDONTS (Win2K) or CDOSYS (WinXP/Win2K3) as they will force your webserver to a crawl. But, by using a 3rd party program, you can force all of the messages into an SMTP queue, freeing up your webserver.