@buyselldoms and
@FPForum, if you don't have experience with something, you're best off not bashing the people who know what they're talking about.
@TalkDevelopment didn't post a question here just so you two could make fools of yourselves in front of everyone who knows how e-mail works.
Spam is a big problem. Very big. Not just for the people receiving mail, but also for the people sending legitimate mail. For example, until very recently, Yahoo marked almost all e-mails from NamePros as spam automatically. Sending e-mails to a large quantity of users is a very delicate process that involves many technicalities your typical small website owner would never encounter. Here's a small checklist for sending
legitimate mail:
- Sign messages with DKIM
- Use DMARC policies
- Use SPF policies (not really necessary, but can help)
- Make sure Sender and From match
- Mark bulk e-mail as such
- Implement Return-Path handling
- Provide an Unsubscribe link with support for easy, instantaneous unsubscribing--usually required by law in the United States
- Don't send all messages from the same server
- Proxy through third-party servers that have good reputations (can be costly)
- Avoid blacklisted words (for example, Google likes to blacklist anything Bitcoin-related)
It can even get much more complicated than that. Sure, you can send a handful of e-mails without doing anything fancy, but once you get up into the thousands, the big providers start to notice. They flag the silliest things, especially Yahoo. Yahoo flags all sorts of things with no good explanation and refuses to provide postmaster services to resolve such problems--oh, and they let the spammy e-mails right through. (Moral of the side-story: anything is better than Yahoo.)
E-mails can be divided into three groups:
- Personal: These e-mails are sent by hand directly to other e-mail addresses. They're usually not marked as spam.
- Transactional: These are e-mail that are triggered by events specific to a user. In most contexts, this includes notification e-mails For example, if you receive a private message on NamePros, the resulting e-mail that we send you is transactional. This also includes subscription e-mails that are necessary to provide a primary service to a user, such as monthly bank statements. Opt-in subscription e-mails, like those that you can choose to receive on NamePros, are considered transactional.
- Marketing: Anything that is not personal or transactional, whether or not it is actually intended to be promotional. Newsletters and all other bulk e-mails fall here. This also includes most opt-out subscription e-mails and many opt-in e-mail, as well. (If the checkbox on a form is checked by default, it's opt-out.)
There are companies that provide e-mail proxying services for businesses sending legitimate e-mails. They track each e-mail, and if a sender gets too many spam reports, they'll have their account suspended. This way, their servers gain high reputations with the big providers: there's a high probability that e-mails originating from them are not spam. For most large forums, sending e-mail directly via SMTP wouldn't work well; they'd need to use one of these services.
There's a catch, though: most of the e-mail proxying services out there only allow transactional e-mails. The ones that do allow marketing e-mails charge a lot more, or have separate prices for transactional and marketing e-mails. Bulk e-mailing becomes very costly.
@TalkDevelopment, the reason you can't find any open source software to fully validate the e-mails is that you'd need a full e-mail proxying service. While such a service could be open source, it couldn't realistically be free--at least, not without some catch. Servers are expensive. Amazon Web Services offers a relatively cheap e-mail service called
SES. It's not the most featureful, but it's definitely cheap, and more reputable than many alternatives. 100,000 e-mails would cost you about $10.