Changes between Version 4 and Version 5 of bulk-mail-relay


Ignore:
Timestamp:
Apr 19, 2014, 5:40:29 PM (6 years ago)
Author:
Jamie McClelland
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • bulk-mail-relay

    v4 v5  
    33See #8424 for implementation details.
    44
    5 Below is a proposal for better handling the delivery of bulk email (see [wiki:email-deliverability the email deliverability page] for more information).
     5See [wiki:email-deliverability the email deliverability page] for context.
     6
     7== Big Picture ==
    68
    79The 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).
     
    911So, 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.
    1012
    11 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).
     13== Details ==
     14The following email list servers are currently using this system: assata.mayfirst.org (provides both bulk.mayfirst.org and lists.people-link.net) and leslie.mayfirst.org (provides lists.mayfirst.org and lists.critpath.org). This strategy should also be adopted by morales.mayfirst.org (provides lists.portside.org), mx3.mayfirst.org and mx25.mayfirst.org.
    1215
    13 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.
     16We 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. NOTE: only rustin is currently in play.
    1417
    1518Each 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.
    1619
    17 We should setup special domain names for each of the main mail providers and a graveyard instance:
     20We have setup special domain names for each of the main mail providers:
    1821
    19  * yahoo.smtp.mayfirst.org
    20  * aol.smtp.mayfirst.org
    2122 * msn.smtp.mayfirst.org
    2223 * earthlink.smtp.mayfirst.org
    2324 * therest.smtp.mayfirst.org
    24  * graveyard.smtp.mayfirst.org
     25
     26Future plans include adding:
     27 * yahoo.smtp.mayfirst.org
     28 * aol.smtp.mayfirst.org
     29 * graveyard.smtp.mayfirst.org (see below)
    2530
    2631Each 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.
    2732
    28 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.
     33Each domain name will have a 600 second time-to-live and will point to one or more of the IP addresses assigned to the relay servers.
    2934
    3035We started by assigning each of these domains to IP addresses that are "warmed up" and currently able to send lots of email.
     
    3237Over 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.
    3338
     39== How Do I... ==
    3440
     41Add a new IP?
     42
     43 * Create a Host record that ties the IP address to the host name (e.g. rustin.mayfirst.org or cleveland.mayfirst.org). Set the time to live to 86400 (it's important to have along ttl since some providers do a reverse DNS lookup of the sending IP address and will punish you if the ttl is too short).
     44 * Create an A record from the $instance.smtp.mayfirst.org to the IP address.
     45 * Add the IP address to the servers /etc/network/interfaces file and bring it up
     46
     47Enable a new server to relay through this system?
     48
     49 * Add the IP address to the [wiki:puppet puppet file] manifests/global.pp, to the variable $mfpl_relaying_ips.
     50 * Be sure to push to both cleveland and rustin
     51 * Add the following to the new server's /etc/postfix/main.cf file:
     52{{{
     53transport_maps = hash:/etc/postfix/transport.relay
     54}}}
     55
     56If main.cf already has a line for transport_maps, you can add a new value following a comma, e.g.:
     57{{{
     58transport_maps = hash:/etc/postfix/transport,hash:/etc/postfix/transport.relay
     59}}}
     60
     61Copy the file /etc/postfix/transport.relay from leslie or assata.
     62
     63