wiki:bulk-mail-relay

Version 4 (modified by Jamie McClelland, 10 years ago) (diff)

--

Bulk Mail Relay

See #8424 for implementation details.

Below is a proposal for better handling the delivery of bulk email (see the email deliverability page for more information).

The over all concept is: most corporate providers allow mail through based on the ratio of delivered mail without complaints to bounced mail and complaints (complaints means people who click the "this is spam" link).

So, our strategy is to use dedicated servers to send email to specific big providers, so we increase the volume of legit mail to help tip the balance when a member (inevitably) sends a bunch of bad addresses or has users click the "this is spam" button.

We should target the following email list servers: assata.mayfirst.org (provides both bulk.mayfirst.org and lists.people-link.net), leslie.mayfirst.org (provides lists.mayfirst.org and lists.critpath.org), and morales.mayfirst.org (provides lists.portside.org).

We currently have two servers setup as dedicated mail relay servers (cleveland in XO and rustin in Telehouse). These servers run multi-postfix instances (see #6662 for more information on the setup). That means, each server has multiple instances of postfix running on different IP addresses.

Each of our main email list servers can relay their email to any one of these instances on a domain-by-domain basis by putting a line in the email list server's /etc/postfix/transport.relay file that indicates the domain of the destination email address followed by the domain of the relay server that should send the email.

We should setup special domain names for each of the main mail providers and a graveyard instance:

  • yahoo.smtp.mayfirst.org
  • aol.smtp.mayfirst.org
  • msn.smtp.mayfirst.org
  • earthlink.smtp.mayfirst.org
  • therest.smtp.mayfirst.org
  • graveyard.smtp.mayfirst.org

Each of our email list servers is configured to relay mail by domain to the appropriate provider, with all deferred email going to the graveyard. Similarly, deferred email on each of the relay instances also goes to the graveyard. This avoids deferred email build up, which than exerbates the problems on our good IP addresses.

Each domain name will have a 300 second time-to-live and will point to one or more of the IP addresses assigned to the relay servers.

We started by assigning each of these domains to IP addresses that are "warmed up" and currently able to send lots of email.

Over time, we can warm up additional IP addresses by using round robin DNS. In other words, we assign a domain to a single, good IP address 4 times, and to a new IP address once. That means only 20% of the traffic goes to the new IP address so it can build it's reputation slowly over time. We then change the ratio of DNS assignments until it can handle more email.