Exim 4 route all but one user to alternate smtpExim4 Smart Host Relaysetup exim to send unknown users' mail through dnslookup/MXAddress rewrite on Exim4 Light not workingExim: how to deliver locally and send a copy to another serverexim & dovecot user over quota: reject on send?Postfix/Dovecot support multiple domainsExim failing to send mail to emails within local_domains listEXIM - Send local mail to Gateway FirstSending mail between two exim serversExim: Force email auth for users of local domains

Is a single radon-daughter atom in air a solid?

What does the hyphen "-" mean in "tar xzf -"?

Drawing people along with x and y axis

Output of "$OSTYPE:6" on old releases of Mac OS X

How is hair tissue mineral analysis performed?

Dates on degrees don’t make sense – will people care?

Hot coffee brewing solutions for deep woods camping

How does the spell Remove Curse interact with a Sword of Vengeance?

Java TreeMap.floorKey() equivalent for std::map

Do I have to explain the mechanical superiority of the player-character within the fiction of the game?

Why tighten down in a criss-cross pattern?

Can there be an UN resolution to remove a country from the UNSC?

Why does the Saturn V have standalone inter-stage rings?

Would it be a copyright violation if I made a character’s full name refer to a song?

Who are the remaining King/Queenslayers?

Loss of power when I remove item from the outlet

Is this proposal by U.S. presidential candidate Pete Buttigieg to change the composition of the Supreme Court constitutional?

How can I politely work my way around not liking coffee or beer when it comes to professional networking?

Why do textbooks often include the solutions to odd or even numbered problems but not both?

Understanding the reasoning of the woman who agreed with King Solomon to "cut the baby in half"

Employer wants to use my work email account after I quit

How to draw this center trajectory of rolling ball?

Can any NP-Complete Problem be solved using at most polynomial space (but while using exponential time?)

What is the legal status of travelling with methadone in your carry-on?



Exim 4 route all but one user to alternate smtp


Exim4 Smart Host Relaysetup exim to send unknown users' mail through dnslookup/MXAddress rewrite on Exim4 Light not workingExim: how to deliver locally and send a copy to another serverexim & dovecot user over quota: reject on send?Postfix/Dovecot support multiple domainsExim failing to send mail to emails within local_domains listEXIM - Send local mail to Gateway FirstSending mail between two exim serversExim: Force email auth for users of local domains






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















We are migrating our mail server away from EXIM and are struggling with emails generated on the host server such as webforms and system messages, as they are not being delivered to the new host.



I'm looking for a routing script that will basically stop ALL local delivery and deliver all @domain.com emails to our new server hqmail.domain.com



However there is one caveat, if it truly is - we have one function left for this server, it is addressed directly by an embedded device that knows it's ip, and it uses the server to send out status messages from alerts@domain.com to recipent@theirdomain.com That user is in the mysql database and has an elaborate bounce control system in place.



I saw that our vmail.user database had route and routed columns and tried to set them to 1, hqmail.mydomain.com thinking logic was there somewhere, but it doesn't appear to exist. That would have been super easy!



So now I'm browsing the 00_exim4-config files in the router directory and frankly completely stumped as to how to do this.



I can see from browsing that there are many ways to do this, to me it would be easiest to use the route/routed logic that I found in my 200_exim4-config_primary file



 # Relay Router
smart_route:
driver = manualroute
condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
transport = remote_smtp
route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1


This looks like what I want but if I set routed=1 and put hqmail.mydomain.com in route field, it doesn't work.



I'm wondering if it doesn't work because this is above it in the file:



dnslookup_relay_to_domains:
debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
driver = dnslookup
errors_to = bounce_control
condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
domains = ! +local_domains : +relay_to_domains
transport = remote_smtp
same_domain_copy_routing = yes
no_more


Any help would be appreciated!



Here is the full 200_exim-4_primary file:



### router/200_exim4-config_primary
#################################
# This file holds the primary router, responsible for nonlocal mails

.ifdef DCconfig_internet
# configtype=internet
#
# deliver mail to the recipient if recipient domain is a domain we
# relay for. We do not ignore any target hosts here since delivering to
# a site local or even a link local address might be wanted here, and if
# such an address has found its way into the MX record of such a domain,
# the local admin is probably in a place where that broken MX record
# could be fixed.

dnslookup_relay_to_domains:
debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
driver = dnslookup
errors_to = bounce_control
condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
domains = ! +local_domains : +relay_to_domains
transport = remote_smtp
same_domain_copy_routing = yes
no_more




#mysql_autorespond:
# driver = accept
# no_verify
# no_expn
# debug_print = "auto responder lookup for $local_part@$domain"
# senders = "! ^.*-request@.*:
# ! ^owner-.*@.*:
# ! ^root@.*:
# ! ^postmaster@.*:
# ! ^listmaster@.*:
# ! ^mailer-daemon@.*"
# condition = $if eq $lookup mysqlSELECT activ FROM responder WHERE
# ((username='$local_part' AND domain='$domain') OR (username='$local_part_prefix' AND domain='$local_part_suffix'))
# AND (sender ='$sender_address' or sender ='$reply_address' or sender ='*')
# AND activ='YES' AND valid_from <= now() AND valid_to >= now() ORDER BY sender DESC LIMIT 1 NOYES
# unseen
# transport = autorespond_mysql



# deliver mail directly to the recipient. This router is only reached
# for domains that we do not relay for. Since we most probably can't
# have broken MX records pointing to site local or link local IP
# addresses fixed, we ignore target hosts pointing to these addresses.

# Relay Router
smart_route:
driver = manualroute
condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
transport = remote_smtp
route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1



dnslookup:
debug_print = "R: dnslookup for $local_part@$domain"
driver = dnslookup
condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
#errors_to = bounce_control
domains = ! +local_domains
transport = remote_smtp
same_domain_copy_routing = yes
# ignore private rfc1918 and APIPA addresses
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :
255.255.255.255
no_more


#denied_lookup:
# debug_print = "R: DENIED"
# driver = redirect
# transport = bounce_control_pipe
# no_more

.endif


.ifdef DCconfig_local
# configtype=local
#
# Stand-alone system, so generate an error for mail to a non-local domain
nonlocal:
debug_print = "R: nonlocal for $local_part@$domain"
driver = error
domains = ! +local_domains
allow_fail
data = :fail: Mailing to remote domains not supported
no_more

.endif


.ifdef DCconfig_smarthost DCconfig_satellite
# configtype=smarthost or configtype=satellite
#
# Send all non-local mail to a single other machine (smarthost).
#
# This means _ALL_ non-local mail goes to the smarthost. This will most
# probably not do what you want for domains that are listed in
# relay_domains. The most typical use for relay_domains is to control
# relaying for incoming e-mail on secondary MX hosts. In that case,
# it doesn't make sense to send the mail to the smarthost since the
# smarthost will probably send the message right back here, causing a
# loop.
#
# If you want to use a smarthost while being secondary MX for some
# domains, you'll need to copy the dnslookup_relay_to_domains router
# here so that mail to relay_domains is handled separately.

smarthost:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = remote_smtp_smarthost
route_list = * DCsmarthost byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more

.endif


# The "no_more" above means that all later routers are for
# domains in the local_domains list, i.e. just like Exim 3 directors.









share|improve this question




























    0















    We are migrating our mail server away from EXIM and are struggling with emails generated on the host server such as webforms and system messages, as they are not being delivered to the new host.



    I'm looking for a routing script that will basically stop ALL local delivery and deliver all @domain.com emails to our new server hqmail.domain.com



    However there is one caveat, if it truly is - we have one function left for this server, it is addressed directly by an embedded device that knows it's ip, and it uses the server to send out status messages from alerts@domain.com to recipent@theirdomain.com That user is in the mysql database and has an elaborate bounce control system in place.



    I saw that our vmail.user database had route and routed columns and tried to set them to 1, hqmail.mydomain.com thinking logic was there somewhere, but it doesn't appear to exist. That would have been super easy!



    So now I'm browsing the 00_exim4-config files in the router directory and frankly completely stumped as to how to do this.



    I can see from browsing that there are many ways to do this, to me it would be easiest to use the route/routed logic that I found in my 200_exim4-config_primary file



     # Relay Router
    smart_route:
    driver = manualroute
    condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
    transport = remote_smtp
    route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1


    This looks like what I want but if I set routed=1 and put hqmail.mydomain.com in route field, it doesn't work.



    I'm wondering if it doesn't work because this is above it in the file:



    dnslookup_relay_to_domains:
    debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
    driver = dnslookup
    errors_to = bounce_control
    condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
    domains = ! +local_domains : +relay_to_domains
    transport = remote_smtp
    same_domain_copy_routing = yes
    no_more


    Any help would be appreciated!



    Here is the full 200_exim-4_primary file:



    ### router/200_exim4-config_primary
    #################################
    # This file holds the primary router, responsible for nonlocal mails

    .ifdef DCconfig_internet
    # configtype=internet
    #
    # deliver mail to the recipient if recipient domain is a domain we
    # relay for. We do not ignore any target hosts here since delivering to
    # a site local or even a link local address might be wanted here, and if
    # such an address has found its way into the MX record of such a domain,
    # the local admin is probably in a place where that broken MX record
    # could be fixed.

    dnslookup_relay_to_domains:
    debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
    driver = dnslookup
    errors_to = bounce_control
    condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
    domains = ! +local_domains : +relay_to_domains
    transport = remote_smtp
    same_domain_copy_routing = yes
    no_more




    #mysql_autorespond:
    # driver = accept
    # no_verify
    # no_expn
    # debug_print = "auto responder lookup for $local_part@$domain"
    # senders = "! ^.*-request@.*:
    # ! ^owner-.*@.*:
    # ! ^root@.*:
    # ! ^postmaster@.*:
    # ! ^listmaster@.*:
    # ! ^mailer-daemon@.*"
    # condition = $if eq $lookup mysqlSELECT activ FROM responder WHERE
    # ((username='$local_part' AND domain='$domain') OR (username='$local_part_prefix' AND domain='$local_part_suffix'))
    # AND (sender ='$sender_address' or sender ='$reply_address' or sender ='*')
    # AND activ='YES' AND valid_from <= now() AND valid_to >= now() ORDER BY sender DESC LIMIT 1 NOYES
    # unseen
    # transport = autorespond_mysql



    # deliver mail directly to the recipient. This router is only reached
    # for domains that we do not relay for. Since we most probably can't
    # have broken MX records pointing to site local or link local IP
    # addresses fixed, we ignore target hosts pointing to these addresses.

    # Relay Router
    smart_route:
    driver = manualroute
    condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
    transport = remote_smtp
    route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1



    dnslookup:
    debug_print = "R: dnslookup for $local_part@$domain"
    driver = dnslookup
    condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
    #errors_to = bounce_control
    domains = ! +local_domains
    transport = remote_smtp
    same_domain_copy_routing = yes
    # ignore private rfc1918 and APIPA addresses
    ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :
    172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :
    255.255.255.255
    no_more


    #denied_lookup:
    # debug_print = "R: DENIED"
    # driver = redirect
    # transport = bounce_control_pipe
    # no_more

    .endif


    .ifdef DCconfig_local
    # configtype=local
    #
    # Stand-alone system, so generate an error for mail to a non-local domain
    nonlocal:
    debug_print = "R: nonlocal for $local_part@$domain"
    driver = error
    domains = ! +local_domains
    allow_fail
    data = :fail: Mailing to remote domains not supported
    no_more

    .endif


    .ifdef DCconfig_smarthost DCconfig_satellite
    # configtype=smarthost or configtype=satellite
    #
    # Send all non-local mail to a single other machine (smarthost).
    #
    # This means _ALL_ non-local mail goes to the smarthost. This will most
    # probably not do what you want for domains that are listed in
    # relay_domains. The most typical use for relay_domains is to control
    # relaying for incoming e-mail on secondary MX hosts. In that case,
    # it doesn't make sense to send the mail to the smarthost since the
    # smarthost will probably send the message right back here, causing a
    # loop.
    #
    # If you want to use a smarthost while being secondary MX for some
    # domains, you'll need to copy the dnslookup_relay_to_domains router
    # here so that mail to relay_domains is handled separately.

    smarthost:
    debug_print = "R: smarthost for $local_part@$domain"
    driver = manualroute
    domains = ! +local_domains
    transport = remote_smtp_smarthost
    route_list = * DCsmarthost byname
    host_find_failed = defer
    same_domain_copy_routing = yes
    no_more

    .endif


    # The "no_more" above means that all later routers are for
    # domains in the local_domains list, i.e. just like Exim 3 directors.









    share|improve this question
























      0












      0








      0








      We are migrating our mail server away from EXIM and are struggling with emails generated on the host server such as webforms and system messages, as they are not being delivered to the new host.



      I'm looking for a routing script that will basically stop ALL local delivery and deliver all @domain.com emails to our new server hqmail.domain.com



      However there is one caveat, if it truly is - we have one function left for this server, it is addressed directly by an embedded device that knows it's ip, and it uses the server to send out status messages from alerts@domain.com to recipent@theirdomain.com That user is in the mysql database and has an elaborate bounce control system in place.



      I saw that our vmail.user database had route and routed columns and tried to set them to 1, hqmail.mydomain.com thinking logic was there somewhere, but it doesn't appear to exist. That would have been super easy!



      So now I'm browsing the 00_exim4-config files in the router directory and frankly completely stumped as to how to do this.



      I can see from browsing that there are many ways to do this, to me it would be easiest to use the route/routed logic that I found in my 200_exim4-config_primary file



       # Relay Router
      smart_route:
      driver = manualroute
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
      transport = remote_smtp
      route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1


      This looks like what I want but if I set routed=1 and put hqmail.mydomain.com in route field, it doesn't work.



      I'm wondering if it doesn't work because this is above it in the file:



      dnslookup_relay_to_domains:
      debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
      driver = dnslookup
      errors_to = bounce_control
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      domains = ! +local_domains : +relay_to_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      no_more


      Any help would be appreciated!



      Here is the full 200_exim-4_primary file:



      ### router/200_exim4-config_primary
      #################################
      # This file holds the primary router, responsible for nonlocal mails

      .ifdef DCconfig_internet
      # configtype=internet
      #
      # deliver mail to the recipient if recipient domain is a domain we
      # relay for. We do not ignore any target hosts here since delivering to
      # a site local or even a link local address might be wanted here, and if
      # such an address has found its way into the MX record of such a domain,
      # the local admin is probably in a place where that broken MX record
      # could be fixed.

      dnslookup_relay_to_domains:
      debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
      driver = dnslookup
      errors_to = bounce_control
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      domains = ! +local_domains : +relay_to_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      no_more




      #mysql_autorespond:
      # driver = accept
      # no_verify
      # no_expn
      # debug_print = "auto responder lookup for $local_part@$domain"
      # senders = "! ^.*-request@.*:
      # ! ^owner-.*@.*:
      # ! ^root@.*:
      # ! ^postmaster@.*:
      # ! ^listmaster@.*:
      # ! ^mailer-daemon@.*"
      # condition = $if eq $lookup mysqlSELECT activ FROM responder WHERE
      # ((username='$local_part' AND domain='$domain') OR (username='$local_part_prefix' AND domain='$local_part_suffix'))
      # AND (sender ='$sender_address' or sender ='$reply_address' or sender ='*')
      # AND activ='YES' AND valid_from <= now() AND valid_to >= now() ORDER BY sender DESC LIMIT 1 NOYES
      # unseen
      # transport = autorespond_mysql



      # deliver mail directly to the recipient. This router is only reached
      # for domains that we do not relay for. Since we most probably can't
      # have broken MX records pointing to site local or link local IP
      # addresses fixed, we ignore target hosts pointing to these addresses.

      # Relay Router
      smart_route:
      driver = manualroute
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
      transport = remote_smtp
      route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1



      dnslookup:
      debug_print = "R: dnslookup for $local_part@$domain"
      driver = dnslookup
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      #errors_to = bounce_control
      domains = ! +local_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      # ignore private rfc1918 and APIPA addresses
      ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :
      172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :
      255.255.255.255
      no_more


      #denied_lookup:
      # debug_print = "R: DENIED"
      # driver = redirect
      # transport = bounce_control_pipe
      # no_more

      .endif


      .ifdef DCconfig_local
      # configtype=local
      #
      # Stand-alone system, so generate an error for mail to a non-local domain
      nonlocal:
      debug_print = "R: nonlocal for $local_part@$domain"
      driver = error
      domains = ! +local_domains
      allow_fail
      data = :fail: Mailing to remote domains not supported
      no_more

      .endif


      .ifdef DCconfig_smarthost DCconfig_satellite
      # configtype=smarthost or configtype=satellite
      #
      # Send all non-local mail to a single other machine (smarthost).
      #
      # This means _ALL_ non-local mail goes to the smarthost. This will most
      # probably not do what you want for domains that are listed in
      # relay_domains. The most typical use for relay_domains is to control
      # relaying for incoming e-mail on secondary MX hosts. In that case,
      # it doesn't make sense to send the mail to the smarthost since the
      # smarthost will probably send the message right back here, causing a
      # loop.
      #
      # If you want to use a smarthost while being secondary MX for some
      # domains, you'll need to copy the dnslookup_relay_to_domains router
      # here so that mail to relay_domains is handled separately.

      smarthost:
      debug_print = "R: smarthost for $local_part@$domain"
      driver = manualroute
      domains = ! +local_domains
      transport = remote_smtp_smarthost
      route_list = * DCsmarthost byname
      host_find_failed = defer
      same_domain_copy_routing = yes
      no_more

      .endif


      # The "no_more" above means that all later routers are for
      # domains in the local_domains list, i.e. just like Exim 3 directors.









      share|improve this question














      We are migrating our mail server away from EXIM and are struggling with emails generated on the host server such as webforms and system messages, as they are not being delivered to the new host.



      I'm looking for a routing script that will basically stop ALL local delivery and deliver all @domain.com emails to our new server hqmail.domain.com



      However there is one caveat, if it truly is - we have one function left for this server, it is addressed directly by an embedded device that knows it's ip, and it uses the server to send out status messages from alerts@domain.com to recipent@theirdomain.com That user is in the mysql database and has an elaborate bounce control system in place.



      I saw that our vmail.user database had route and routed columns and tried to set them to 1, hqmail.mydomain.com thinking logic was there somewhere, but it doesn't appear to exist. That would have been super easy!



      So now I'm browsing the 00_exim4-config files in the router directory and frankly completely stumped as to how to do this.



      I can see from browsing that there are many ways to do this, to me it would be easiest to use the route/routed logic that I found in my 200_exim4-config_primary file



       # Relay Router
      smart_route:
      driver = manualroute
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
      transport = remote_smtp
      route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1


      This looks like what I want but if I set routed=1 and put hqmail.mydomain.com in route field, it doesn't work.



      I'm wondering if it doesn't work because this is above it in the file:



      dnslookup_relay_to_domains:
      debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
      driver = dnslookup
      errors_to = bounce_control
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      domains = ! +local_domains : +relay_to_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      no_more


      Any help would be appreciated!



      Here is the full 200_exim-4_primary file:



      ### router/200_exim4-config_primary
      #################################
      # This file holds the primary router, responsible for nonlocal mails

      .ifdef DCconfig_internet
      # configtype=internet
      #
      # deliver mail to the recipient if recipient domain is a domain we
      # relay for. We do not ignore any target hosts here since delivering to
      # a site local or even a link local address might be wanted here, and if
      # such an address has found its way into the MX record of such a domain,
      # the local admin is probably in a place where that broken MX record
      # could be fixed.

      dnslookup_relay_to_domains:
      debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
      driver = dnslookup
      errors_to = bounce_control
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      domains = ! +local_domains : +relay_to_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      no_more




      #mysql_autorespond:
      # driver = accept
      # no_verify
      # no_expn
      # debug_print = "auto responder lookup for $local_part@$domain"
      # senders = "! ^.*-request@.*:
      # ! ^owner-.*@.*:
      # ! ^root@.*:
      # ! ^postmaster@.*:
      # ! ^listmaster@.*:
      # ! ^mailer-daemon@.*"
      # condition = $if eq $lookup mysqlSELECT activ FROM responder WHERE
      # ((username='$local_part' AND domain='$domain') OR (username='$local_part_prefix' AND domain='$local_part_suffix'))
      # AND (sender ='$sender_address' or sender ='$reply_address' or sender ='*')
      # AND activ='YES' AND valid_from <= now() AND valid_to >= now() ORDER BY sender DESC LIMIT 1 NOYES
      # unseen
      # transport = autorespond_mysql



      # deliver mail directly to the recipient. This router is only reached
      # for domains that we do not relay for. Since we most probably can't
      # have broken MX records pointing to site local or link local IP
      # addresses fixed, we ignore target hosts pointing to these addresses.

      # Relay Router
      smart_route:
      driver = manualroute
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' AND routed=1 noyes
      transport = remote_smtp
      route_data = $lookup mysql SELECT route FROM users WHERE id='$sender_address' AND routed=1



      dnslookup:
      debug_print = "R: dnslookup for $local_part@$domain"
      driver = dnslookup
      condition = $if eq$lookup mysql SELECT id FROM users WHERE id='$sender_address' noyes
      #errors_to = bounce_control
      domains = ! +local_domains
      transport = remote_smtp
      same_domain_copy_routing = yes
      # ignore private rfc1918 and APIPA addresses
      ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :
      172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :
      255.255.255.255
      no_more


      #denied_lookup:
      # debug_print = "R: DENIED"
      # driver = redirect
      # transport = bounce_control_pipe
      # no_more

      .endif


      .ifdef DCconfig_local
      # configtype=local
      #
      # Stand-alone system, so generate an error for mail to a non-local domain
      nonlocal:
      debug_print = "R: nonlocal for $local_part@$domain"
      driver = error
      domains = ! +local_domains
      allow_fail
      data = :fail: Mailing to remote domains not supported
      no_more

      .endif


      .ifdef DCconfig_smarthost DCconfig_satellite
      # configtype=smarthost or configtype=satellite
      #
      # Send all non-local mail to a single other machine (smarthost).
      #
      # This means _ALL_ non-local mail goes to the smarthost. This will most
      # probably not do what you want for domains that are listed in
      # relay_domains. The most typical use for relay_domains is to control
      # relaying for incoming e-mail on secondary MX hosts. In that case,
      # it doesn't make sense to send the mail to the smarthost since the
      # smarthost will probably send the message right back here, causing a
      # loop.
      #
      # If you want to use a smarthost while being secondary MX for some
      # domains, you'll need to copy the dnslookup_relay_to_domains router
      # here so that mail to relay_domains is handled separately.

      smarthost:
      debug_print = "R: smarthost for $local_part@$domain"
      driver = manualroute
      domains = ! +local_domains
      transport = remote_smtp_smarthost
      route_list = * DCsmarthost byname
      host_find_failed = defer
      same_domain_copy_routing = yes
      no_more

      .endif


      # The "no_more" above means that all later routers are for
      # domains in the local_domains list, i.e. just like Exim 3 directors.






      email-server exim configuration






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Oct 12 '14 at 0:42









      user3001841user3001841

      11




      11




















          1 Answer
          1






          active

          oldest

          votes


















          0














          Two there should be; no more, no less:



          begin routers

          alerts:
          driver = accept
          condition = $if eq$local_part@$domain'recipent@theirdomain.com'yesno
          condition = $if eq$sender_address'alert@domain.com'yesno
          transport = remote_smtp

          migrator:
          driver = manualroute
          condition = $if eq$domain'domain.com'yesno
          transport = remote_smtp
          route_data = hqmail.domain.com
          cannot_route_message = User unknown

          # end routers


          I hope that would help.






          share|improve this answer























          • Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

            – user3001841
            Oct 12 '14 at 13:55











          • sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

            – user3001841
            Oct 12 '14 at 14:40











          • In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

            – user3001841
            Oct 12 '14 at 17:54











          • Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

            – Kondybas
            Oct 12 '14 at 22:25













          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f636349%2fexim-4-route-all-but-one-user-to-alternate-smtp%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Two there should be; no more, no less:



          begin routers

          alerts:
          driver = accept
          condition = $if eq$local_part@$domain'recipent@theirdomain.com'yesno
          condition = $if eq$sender_address'alert@domain.com'yesno
          transport = remote_smtp

          migrator:
          driver = manualroute
          condition = $if eq$domain'domain.com'yesno
          transport = remote_smtp
          route_data = hqmail.domain.com
          cannot_route_message = User unknown

          # end routers


          I hope that would help.






          share|improve this answer























          • Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

            – user3001841
            Oct 12 '14 at 13:55











          • sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

            – user3001841
            Oct 12 '14 at 14:40











          • In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

            – user3001841
            Oct 12 '14 at 17:54











          • Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

            – Kondybas
            Oct 12 '14 at 22:25















          0














          Two there should be; no more, no less:



          begin routers

          alerts:
          driver = accept
          condition = $if eq$local_part@$domain'recipent@theirdomain.com'yesno
          condition = $if eq$sender_address'alert@domain.com'yesno
          transport = remote_smtp

          migrator:
          driver = manualroute
          condition = $if eq$domain'domain.com'yesno
          transport = remote_smtp
          route_data = hqmail.domain.com
          cannot_route_message = User unknown

          # end routers


          I hope that would help.






          share|improve this answer























          • Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

            – user3001841
            Oct 12 '14 at 13:55











          • sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

            – user3001841
            Oct 12 '14 at 14:40











          • In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

            – user3001841
            Oct 12 '14 at 17:54











          • Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

            – Kondybas
            Oct 12 '14 at 22:25













          0












          0








          0







          Two there should be; no more, no less:



          begin routers

          alerts:
          driver = accept
          condition = $if eq$local_part@$domain'recipent@theirdomain.com'yesno
          condition = $if eq$sender_address'alert@domain.com'yesno
          transport = remote_smtp

          migrator:
          driver = manualroute
          condition = $if eq$domain'domain.com'yesno
          transport = remote_smtp
          route_data = hqmail.domain.com
          cannot_route_message = User unknown

          # end routers


          I hope that would help.






          share|improve this answer













          Two there should be; no more, no less:



          begin routers

          alerts:
          driver = accept
          condition = $if eq$local_part@$domain'recipent@theirdomain.com'yesno
          condition = $if eq$sender_address'alert@domain.com'yesno
          transport = remote_smtp

          migrator:
          driver = manualroute
          condition = $if eq$domain'domain.com'yesno
          transport = remote_smtp
          route_data = hqmail.domain.com
          cannot_route_message = User unknown

          # end routers


          I hope that would help.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Oct 12 '14 at 6:47









          KondybasKondybas

          6,37621522




          6,37621522












          • Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

            – user3001841
            Oct 12 '14 at 13:55











          • sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

            – user3001841
            Oct 12 '14 at 14:40











          • In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

            – user3001841
            Oct 12 '14 at 17:54











          • Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

            – Kondybas
            Oct 12 '14 at 22:25

















          • Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

            – user3001841
            Oct 12 '14 at 13:55











          • sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

            – user3001841
            Oct 12 '14 at 14:40











          • In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

            – user3001841
            Oct 12 '14 at 17:54











          • Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

            – Kondybas
            Oct 12 '14 at 22:25
















          Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

          – user3001841
          Oct 12 '14 at 13:55





          Thank you. However recipent@theirdomain.com is not fixed - so can I safely just take that conditional statement out?

          – user3001841
          Oct 12 '14 at 13:55













          sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

          – user3001841
          Oct 12 '14 at 14:40





          sorry this didn't work, it appears it's not even getting to this point in the router configuration. I tried to rename file 10_ but it still didn't process

          – user3001841
          Oct 12 '14 at 14:40













          In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

          – user3001841
          Oct 12 '14 at 17:54





          In looking at this closer the router configuration files appear to be called AFTER the local ones, so shouldn't I put something in a file that gets called earlier?

          – user3001841
          Oct 12 '14 at 17:54













          Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

          – Kondybas
          Oct 12 '14 at 22:25





          Splitted configs with numerous includes are not crafted for manual editing. If you want exim to perform specific mode, you have to use single-file config with no includes at all. Then you can easily control precedence of directives.

          – Kondybas
          Oct 12 '14 at 22:25

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f636349%2fexim-4-route-all-but-one-user-to-alternate-smtp%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company