Changes between Initial Version and Version 1 of relay-server-by-domain


Ignore:
Timestamp:
Jan 16, 2014, 5:08:21 PM (12 years ago)
Author:
Jamie McClelland
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • relay-server-by-domain

    v1 v1  
     1= Relay Server By Domain =
     2
     3One of our [wiki:email-deliverability email deliverability] strategies is to relay mail through different IP addresses based on the domain name of the recipient. This strategy is based on our understanding that many big email providers allow or block sending IP addresses based on the ratio of valid email addresses to bad email addresses (among other criteria). By concentrating all email messages sent by our various bulk email servers (mostly leslie, assata - which provides bulk.mayfirst.org, and morales - which provides Portside) we can earn a good reputation based on sending thousands of legit emails per day.
     4
     5This strategy allows us to:
     6 * build a better reputation for any given email provider by combining all sent messages so they originate from one IP address
     7 * provide flexibility so we can easily redirect messages being blocked on one server to be redirect to a different relay server
     8
     9== How to make a change =
     10
     11Each server that is using this method has a file called /etc/postfix/transport.relay. This file lists all the domains that should be relayed instead of sent by the local server, as well as the domain it should be relayed to.
     12
     13You can edit this file to add or change entries (this file is not controlled by puppet).
     14
     15== Where to send? ==
     16
     17We have two servers configured to relay email:
     18
     19 * rustin (in Telehouse)
     20 * cleveland (in XO)
     21
     22Each of these servers is configured to use a postfix multi instance. That is a method that allows more than one instance of postfix to run on the same virtual server. Each instance sends via a different IP address. The instances are enumerable with the following command (as run on rustin):
     23
     24{{{
     250 rustin:/etc/postfix-b# ls -d /etc/postfix*
     26/etc/postfix  /etc/postfix-a  /etc/postfix-b
     270 rustin:/etc/postfix-b#
     28}}}
     29
     30/etc/postfix is the base instance, and a and b are ones available for use. These are configured via dns as a.rustin.mayfirst.org and b.rustin.mayfirst.org.
     31
     32== Adding more instances ==
     33
     34You can add more postfix instances to either rustin or cleveland via puppet. You'll need a free IP address. You can edit either server's .pp file to see existing examples and go from there.
     35
     36== Configuring a server to use the relay farm ==
     37
     38