Optimizing IIS 6 SMTP to send out large ammounts of email

iis-6smtp

Im currently working on a system that sends out a large number of monthly newsletters to subscribed users and customers (please note, this is not spam). We send these emails using IIS 6 virtual SMTP server and for the most part, it works well.

However sometimes we must send out 200K+ newsletters- in this case, the IIS6 queue quickly fills up and we are unable to shift them quickly enough. Sending 200K emails may take many many hours, during which time the server is using roughly 2.7mb of the 3mb upload bandwidth we have access to.

I was hoping someone could offer some tips on optimizing IIS 6 for a situation like this, esspecially on some of the server properties such as "limit number of messages per connection" (currently set at 200), "limit number of connections to" (currently at 1000), and "limit number of connections per domain to" (currently set at 100).

Best Answer

My advice. Don't.

Sending newsletters from your primary mailserver can be a VERY bad idea. Here's a few reasons why.

  1. You tie up your mailserver when it could be sending other mail
  2. You tie up your network connection to the server, you're already using 90% of your committed data rate.
  3. If someone reports it as spam, or mail providers get wind that your IP address is responsible for a lot of sending of stuff that people mark as spam, you get Blacklisted. This is a very bad thing.
  4. You're not getting great performance because your servers are virtualized. Virtualization seriously limits the IO performance of a server. It'll never match bare-metal hardware speeds.

Recommendations:

Use a SMTP relay service for sending bulk email. Port25.com is good. Mailchimp offers mailing-list management software, and is even better. There's a developer API, so you can tie it into your existing services and user databases.

Mailchimp also give you some idea of what will be well received by various email clients.