[exim] Setting Outbound Interfaces

Top Page
Delete this message
Reply to this message
Author: Grant Peel
Date:  
To: exim-users
Subject: [exim] Setting Outbound Interfaces
Hi all,

First off thanks to everyone on the list who assisted me in getting greg
listing working, and for all the other tidbits getting my ACLs up to snuff.

My next adverture is to get the ip address mappings up to snuff. That is, to
get outgoing mail to be sent through the ip address assigned for whatever
domain.

With the Routers and Transports below, I am seeing a few glitches. The fist
two are the problems with gmail and aol - they are returning multiple ip
addresses. That asside, I dont think I should be seening logs like this at
all.

Question one: Can anyone see whats wronge with my remote_smtp_alias
Transport?

2008-05-03 01:52:52 1JrTgN-0003e3-Qx == gmail_address@???
<alias_on_my_server@my_server.com> R=dnslookup_alias T=remote_smtp_alias
defer (-1): "64.233.171.83\n72.14.253.83\n64.233.161.83" is not a valid IP
address for the "interface" option for remote_smtp_alias transport2008-05-03

Some background info:

a list of local domains is in /etc/virtual/domains
Runing FreeBSD 6.2, Exim 4.63, Each domain on the server has its own IP.

Routers:

dnslookup_local:
driver = dnslookup
domains = ! +local_domains
condition = ${lookup {$sender_address_domain} lsearch
{/etc/virtual/domains} {yes}{no}}
transport = remote_smtp_local
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

dnslookup_bounce:
driver = dnslookup
domains = ! +local_domains
condition = ${if eq {$sender_address_local_part}{} {yes}{no}}
transport = remote_smtp_bounce
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

dnslookup_alias:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp_alias
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

Transports:

remote_smtp_local:
        driver = smtp
        helo_data = ${lookup 
dnsdb{defer_never,ptr=$sender_address_domain}{$value} \
                    {$primary_hostname}}
        interface = ${lookup 
dnsdb{defer_never,a=$sender_address_domain}{$value}{nnn.nnn.nnn.nnn}}
        return_path_add = true
        debug_print = "Transport:       remote_smtp_local \
                       Destination:     $local_part@$domain \
                       Sent VIA:        ${lookup 
dnsdb{ptr=$sender_host_address} \
                                        {$value}{nnn.nnn.nnn.nnn}} \
                       Domain Info:     $domain_data"


remote_smtp_alias:
        driver = smtp
        helo_data = ${lookup 
dnsdb{ptr=$sender_address_domain}{$value}{$primary_hostname}}
        interface = ${lookup 
dnsdb{a=$original_domain}{$value}{nnn.nnn.nnn.nnn}}
        return_path_add = true
        debug_print = "Transport:       remote_smtp_alias \
                       Destination:     $local_part@$domain \
                       Sent VIA:        ${lookup 
dnsdb{ptr=$sender_host_address}{$value} \
                                        {{nnn.nnn.nnn.nnn}} \
                       Domain Info:     $domain_data"


remote_smtp_bounce:
        driver = smtp
        helo_data = ${lookup 
dnsdb{defer_never,ptr=$interface_address}{$value}{$primary_hostname}}
        interface = $interface_address
        return_path_add = true
        debug_print = "Transport:       remote_smtp_bounce \
                       Destination:     $local_part@$domain \
                       Sent VIA:        ${lookup 
dnsdb{ptr=$sender_host_address}{$value} \
                                        {{nnn.nnn.nnn.nnn}} \
                       Domain Info:     $domain_data"