Setting up Postfix mailserver backups when the ISPs has blocked outgoing traffic on port 25 (smtp)

  1. Log in as root and cd to /etc/postfix or wherever your postfix configuration files resides.

  2. Edit transport
    In this example, our mailserver is the backup for two mailservers, each one serving as a mailserver for two domains.
    friend_domain1.tld   smtp:smtp.friend_server1.tld:25255
    friend_domain2.tld   smtp:smtp.friend_server1.tld:25255
    friend_domain3.tld   smtp:smtp.friend_server2.tld:25255
    friend_domain4.tld   smtp:smtp.friend_server2.tld:25255

  3. Edit main.cf
    transport_maps = hash:/etc/postfix/transport
    relay_domains = $mydestination,$virtual_maps,$transport_maps

    You probably want to block spam so that you don't act as a spam relay too:
    maps_rbl_domains =
      dnsbl.sorbs.net,
      zen.spamhaus.org,
      dnsbl.njabl.org,
      bl.spamcop.net

    smtpd_client_restrictions =
      permit_mynetworks,
      reject_unknown_client,
      reject_unknown_recipient_domain,
      reject_unauth_pipelining,
      reject_maps_rbl

  4. Edit master.cf
    25255 inet n - n - - smtpd

  5. Reload the postfix settings.
    postmap transport
    pofix reload

  6. Open port 25255 in your firewall.

  7. Add the two mailservers to your DNSes zone files.
    In this example, our mailserver is a mailserver for two domains and is backed up by the same two mailservers it backups itself.
    cd to /var/named or wherever your BIND configuration files resides.

    Edit your_domain1.tld.zone:
    your_domain1.tld   IN MX 10   smtp.your_server.tld.
                       IN MX 20   smtp.friend_server1.tld.
                       IN MX 30   smtp.friend_server2.tld.

    Edit your_domain2.tld.zone:
    your_domain2.tld   IN MX 10   smtp.your_server.tld.
                       IN MX 20   smtp.friend_server1.tld.
                       IN MX 30   smtp.friend_server2.tld.

  8. Restart named.

ted@mosaiq.se