[ Debian ] Exim4 en smarthost voor bepaalde domeinen

Pagina: 1
Acties:

  • Zeezicht
  • Registratie: Juni 2001
  • Laatst online: 12-02 12:55
In mijn config voor exim3 stond het volgende:

code:
1
2
3
4
smarthostUT:
  driver = domainlist
  transport = remote_smtp
  route_list = "*utwente.nl mail.home.nl bydns_a"

Dit zorgde ervoor dat alle mail naar *utwente.nl via de @Home mail server ging (mail.home.nl). De UT mailserver accepteerd namelijk geen mail van thuis aansluitingen bij @Home.
Dit werkte perfect, maar nu ben ik bezig met de overstap naar Exim4 (Debian Sarge). En die kent dit niet meer.
Ik heb al verschillende dingen geprobeerd met de smarthost opties van Exim4 maar het gaat niet goed. Of de mail naar de UT gaat goed of de overige mail gaat goed, maar nooit beide.

Hier 2 voorbeelden van wat ik heb geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
smarthost:
  debug_print = "R: smarthost for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  route_list = *utwente.nl mail.home.nl byname
  host_find_failed = defer
  same_domain_copy_routing = yes
  no_more

OF

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


Heeft iemand dit werkend? En zo ja, hoe dan :)

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

Probeer deze is, uiteraard wel op de correcte plaats tussen je routers plaatsen (voor lookuphost en na localrouter)

code:
1
2
3
4
utwente_router:
  driver = domainlist
  transport = bsmtp_transport
  route_list = "*utwente.nl mail.home.nl byname"

[ Voor 28% gewijzigd door Seth4Chaos op 05-01-2005 17:48 ]

Mistakes are proof that you are trying...


  • Zeezicht
  • Registratie: Juni 2001
  • Laatst online: 12-02 12:55
Seth4Chaos schreef op woensdag 05 januari 2005 @ 17:47:
Probeer deze is, uiteraard wel op de correcte plaats tussen je routers plaatsen (voor lookuphost en na localrouter)

code:
1
2
3
4
utwente_router:
  driver = domainlist
  transport = bsmtp_transport
  route_list = "*utwente.nl mail.home.nl byname"
Dat werkt helaas niet. Ik krijg de volgende error:
code:
1
2
3
4
Restarting MTA: 2005-01-06 00:42:12 Exim configuration error in line 531 of /etc/exim4/exim4.conf:
  router utwente_router: cannot find router driver "domainlist"

Warning! Invalid configuration file for exim4. Exiting.


Maar de volgende code werkt wel:
code:
1
2
3
4
5
6
7
smarthost:
  debug_print = "R: smarthost for $local_part@$domain"
  driver = manualroute
  domains = *utwente.nl
  route_list = * mail.home.nl byname
  transport = remote_smtp
  no_more

Probleem is dus nu opgelost.

Maar is het nu ook mogelijk om de domeinen waarvoor dit moet gebeuren op te zoeken via een lsearch in een bestand?

[ Voor 3% gewijzigd door Zeezicht op 06-01-2005 00:47 ]


  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

Zeezicht schreef op donderdag 06 januari 2005 @ 00:44:
Maar is het nu ook mogelijk om de domeinen waarvoor dit moet gebeuren op te zoeken via een lsearch in een bestand?
http://www.exim.org/exim-...c/html/spec_10.html#IX727

ik gok dus iets van
code:
1
2
3
4
5
6
7
smarthost:
  debug_print = "R: smarthost for $local_part@$domain"
  driver = manualroute
  domains = "lsearch;/etc/exim/athome.domains"
  route_list = * mail.home.nl byname
  transport = remote_smtp
  no_more


je zal iig iets met lsearch moeten doen bij domains.

Mistakes are proof that you are trying...


  • Zeezicht
  • Registratie: Juni 2001
  • Laatst online: 12-02 12:55
Als ik dat gebruik, dan krijg ik de volgende melding in mijn logs:
code:
1
2
2005-01-06 14:39:59 1CmXrr-0003Ur-CO <= root@SERVER U=root P=local S=284
2005-01-06 14:39:59 1CmXrr-0003Ur-CO failed to open {/etc/exim4/smarthost.domains} for linear search: No such file or directory

Maar het bestand bestaat wel degelijk en is ook te lezen voor iedereen. Ik heb ook geprobeert de rechten nog wat stricter te maken (omdat ie misschien voor de veiligheid niet dingen uitleest waar de rechten niet strict genoeg van zijn), maar ook dan wil het niet werken.

Ik zie op exim.org niet echt een goed voorbeeld hiervoor (eigenlijk alleen korte uitleg).

  • Zeezicht
  • Registratie: Juni 2001
  • Laatst online: 12-02 12:55
Error is nu weg door het volgende te gebruiken:
code:
1
2
3
domainlist smarthost_domains = lsearch;/etc/exim4/smarthost.domains
en dan:
domains = + smarthost_domains

Alleen nu zie hij de domeinen nooit correct, dus hij gebruikt de lijst niet hetzelfde als dat je de domeinen er gewoon achter zet.

  • Zeezicht
  • Registratie: Juni 2001
  • Laatst online: 12-02 12:55
Goed bezig zie ik alweer :)
Een lsearch kan standaard geen wildcards in de bestanden hebben. Dat ging bij mij mis.
Ik gebruik nu een partial-lsearch die met de standaard *. wildcard kan werken. Nu werkt het wel.

Ik hoop dat iemand anders hier mss nog wat aan heeft.
Pagina: 1