[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: exim4 soll Mails von unterschiedlichen Accounts an unterschiedliche hosts senden



Am 15.03.2024 um 10:58 schrieb Dirk S.:
Guten Morgen!

Ich habe ein Problem, welches ich zur Zeit noch nicht so ganz
durchblicke:
Ich arbeite zu Hause mit mutt, was hier allerdings nicht von Relevanz
ist.
Auf meinem Heimserver läuft exim4 als smarthost. Dieser soll jetzt
Mails von unterschiedlichen Absendern an unterschiedliche hosts
ausliefern. Also von dirk@a.eins.de und dirk@b.woanders.de an den host
mail.eins.de; außerdem Mails von dirk@gmx.de an mail.gmx.net.
Das funktioniert auch mit den unten angehangenen Konfigurationen
(mail.eins.de ist so konfiguriert, dass er die anderen Adressen, wie
im Beispiel b.woanders.de, annimmt).
Jetzt möchte ich aber auch Mails von anderen lokalen Absendern (user
auf meinem Heimserver) ausliefern, also z.B. Mails vom lokalen User
alfred  mit der Absender-Adresse alfred@gmx.de an mail.gmx.net. Das
funktioniert allerdings nicht. Trage ich in der Datei passwd.client
auch die Mailadresse und das Passwort von alfred ein (also eine
zusätzliche Zeile mail.gmx.net:alfred@gmx.de:PASSWORT), so wird der
Eintrag nicht genutzt.

Was heißt "nicht genutzt"? Was passiert mit den Mails? Was sagen die
Logfiles dazu?

Wie muss ich die Konfiguration anpassen, damit
auch das korrekt funktioniert?


# cat /etc/exim4/passwd.client
mail.eins.de:dirk@a.eins.de:PASSWORD
mail.gmx.net:dirk@gmx.de:PASSWORD

# cat /etc/exim4/smarthosts
a.eins.de: mail.eins.de
b.woanders.de: mail.eins.de
gmx.de: mail.gmx.net
[...]

Wie sehen denn Dein zugehöriger Router und Transport aus?
Meine Passwort-Datei (ich habe genau so eine Smarthost-Konfiguration,
wie Du das gerne hättest) folgt dem Schema
"Absenderadresse:Mailserver:Remotepasswort", also eine andere
Reihenfolge als bei Dir (und alles in einer Datei kombiniert).

Der Router und der Transport dazu sehen bei mir so aus:

| [...]
| smarthost_list:
|   debug_print = "R: smarthost list for $local_part@$domain"
|   driver = manualroute
|   domains = ! +local_domains
|   senders = wildlsearch*;CONFDIR/sender.smarthost.passwd
|   transport = remote_smtp_list
|   route_list = *
${extract{1}{:}{${lookup{$sender_address}wildlsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}
|   host_find_failed = defer
|
| [...]
| remote_smtp_list:
|   debug_print = "T: remote_smtp_list for $local_part@$domain"
|   driver = smtp
|   hosts_require_auth =
${extract{1}{:}{${lookup{$sender_address}lsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}
| [...]


Tschüs,

Sebastian


Reply to: