-- If you're requiring user email validation and most people in your list are using it, this post probably doesn't apply to you. --
I'm not blaming the forum software but if you're running it and:
1) You're not requiring email validation for your users and/or
2) for some reason you have a non-spam list that potentially has many fake emails
(depending on your audience, up to 50% may not be savvy enough to click on validation links)
Due to the way the forum sends the emails (without pauses) there's a good chance you'll end up on the composite block list (cbl) because this behavior looks like a virus or trojan.
If anyone is facing the same problem, here's what I did to solve it:
1) Modified all code that sends emails. Instead of letting the forum software send the emails all at once, I store the message parameters in a database table for future sending.
2) I use a mailing program to send my emails by connecting to that table. Gammadyne Mailer in my case. I've been using it for years and it's extremely robust and reliable (and highly configurable).
Gammadyne can:
- Pause after each email sent. I set the pause for at least a few seconds. You can also setup a windows task to send the emails every hour or so.
- Store the message failures into a db or text file (so you don't keep sending to bad emails)
Problem solved!
By the way, I narrowed the problem down to the forum software by:
1) Launching a brand new server (obviously free of viruses and trojans).
2) Configuring a firewall.
3) installing only the forum software.
4) I ended up in the cbl.
Since I made the changes described above, I've not been listed in the cbl so it is a valid solution.
Again, I'm not blaming the forum software. Aside from the way it sends emails, it looks like good software. Even the way it sends emails isn't so bad considering many people can run it "out of the box" with their hosting provider (without additional configs and programming).
If you're having blacklisting issues and you have a dedicated server and some technical experience, try out my solution.
Hope this helps someone else...