ubuntuusers.de

exim4: externe mail-Adressen lokal ausliefern

Status: Gelöst | Ubuntu-Version: Server 14.04 (Trusty Tahr)
Antworten |

rodorapido

Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Hallo liebe Freunde,

wer kennt sich mit exim4 aus? Ich möchte gerne bestimmte email-Empfänger nicht über den smarthost verarbeiten, sondern gleich lokal ausliefern.

Beispiel: Auf dem Server gibt es zwei Benutzer (userA, userB). Jeder Benutzer hat auf dem Server eine eigene email-Adresse (A.Lois@meinserver.net, B.Lind@meinserver.net) und natürlich auch jeder bei einem amtlichen ISP (A.Lois@gmx.net, B.Lind@web.de).

Schickt nun userA eine email an B.Lind@meinserver.net, wird erwartungsgemäß lokal ausgeliefert. Das gleiche, wenn das userB macht. Sendet nun aber userA eine email an B.Lind@web.de, dann routet die Konfiguration über den jeweiligen amtlichen smarthost. Wie kann ich die Routerkonfiguration so vornehmen, dass bei einer email an B.Lind@web.de sofort lokal zugestellt wird, also ohne Umweg über den jeweiligen amtlichen smarthost.

Mein Konfiguration in /etc/exim4/conf.d/router/200_exim4_config_primary:

smarthost2:
  	debug_print = "R: smarthost2 for $local_part@$domain"
  	driver = manualroute
  	domains = ! +local_domains
  	transport = remote_smtp_smarthost
  	condition = ${if eq {${lc:$sender_address}}{A.Lois@gmx.net}{yes}{no}}
 	 route_list = * mail.gmx.net byname
 	 host_find_failed = ignore
  	same_domain_copy_routing = yes
  	no_more

	smarthost3:
  	debug_print = "R: smarthost3 for $local_part@$domain"
 	driver = manualroute
  	domains = ! +local_domains
  	transport = remote_smtp_smarthost
  	condition = ${if eq {${lc:$sender_address}}{B.Lind@web.de}{yes}{no}}
  	route_list = * smtp.web.de byname
  	host_find_failed = ignore
 	 same_domain_copy_routing = yes
  	no_more

Freue mich auf Eure Beiträge bzw. Fragen!

rr.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Du möchtest z.B. eine persönliche E-Mail an B.Lind@web.de zurückhalten und lokal an B.Lind@meinserver.net zustellen, nur weil Du weißt, dass der Account dem selben Nutzer gehört? Das halte ich (nicht nur datenschutzrechtlich) für keine gute Praxis.

rodorapido

(Themenstarter)
Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Hallo Thomas_Do,

hmmm, so habe ich das noch nicht gesehen...

Ich will die email nicht "zurückhalten", sondern über eine routing-Regel umleiten.

Zur Zeit geht die mail ja an B.Lind@web.de und zwar über den smarthost2 von userA (gmx.net) an den smarthost3 von userB (web.de). Vom smarthost3 holt fetchmail dann die email ab, übergibt sie an procmail, das sie dann in das Postfach von userB auf meinserver.net einsortiert. Ich will eigentlich nur den Umweg über smarthost2/3 ausschalten.

"Unter dem Strich" will ja lediglich userA dem userB im lokalen Netz eine email senden. Vom Datenschutz fühle ich mich da eher sicherer, weil die mail mein lokales Netz nicht verlassen würde.

Welche weiteren datenschutzrechtlichen Probleme siehst Du da?

Und wie konfigurieren wir eine routing-Regel bei unserem gemeinsamen Freund exim4?

Grüße rr.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Ich sehe das Problem, dass Du E-Mails anderer Personen "manipulierst". Du gehst davon aus, dass es im Sinne der Nutzer ist, die E-Mail nicht an das in der Adresszeile angegebene Konto zuzustellen, sondern gleich an ein anderes. Wenn das aber von Absender so gewollt wäre, warum benutzt er dann nicht direkt die meinserver.net-Adresse? Ich bin kein Jurist, aber ein E-Mail-Provider muss beispielsweise jede E-Mail zustellen. Ohne Einwilligung der Nutzer darf noch nicht einmal eindeutiger SPAM herausgefiltert werden. Die Umleitung von E-Mails halte ich in diesem Sinne für problematisch. Eine persönliche Einwilligung sollte daher mindestens erfolgen

Bzgl. exim4 kann ich Dir leider nicht helfen.

rodorapido

(Themenstarter)
Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Hallo Thomas_Do,

Deine Argumente sind nicht schlecht. Ich selbst bin auch nicht ganz überzeugt, ob das der richtige Weg ist. Nun ist aber userA meine Ommi und userB mein Oppi. Die beiden sind gemeinsam ca. 175 Jahre alt und haben abends nichts anderes zu tun als Pingpong per email zu spielen.

Selbst wenn es mir gelänge, Ommi und Oppi zu erklären, dass wir es mit zwei mailservern zu tun haben und die beiden dazu bringen die email an z. B. B.Lind@meinserver.net zu senden, so kommt die dann nach langem Umweg bei Ommi an; als Absender steht dann aber (logischerweise?) A.Lois@gmx.net. Drückt Ommi dann auf "Antworten", dann geht die mail schon wieder über web.de zu Oppi. Ich müßte Ommi dann sagen: Paß auf, wenn email kommt von Oppi und du auf "Antworten" gehst, mußt Du dann in die Adresszeile und A.Lois@gmx.net ändern in A.Lois@meinserver.net.

Was wird Ommi sagen?

rr.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Omi und Opi werden wohl ihrem Admin vertrauen 😉. Außerhalb der Familie, in einer Firma, einem Wohnheim, einer Schule, einem Verein o.ä. würde sowas aber eher nicht machen.

rodorapido

(Themenstarter)
Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Hmmm, vielleicht müßte ich mein Problem ein wenig umformulieren: Kann man bei exim4 ein sender-address-rewriting konfigurieren dergestalt, dass dem Empfänger als Absender xxx@meinserver.net angezeigt wird?

Also userA schickt eine email an B.Lind@meinserver.net. Der MUA von userB sieht dann als Empfänger A.Lois@meinserver.net. Schickt userA eine email an angela.merkel@bundeskanzleramt.de, um sich dort über die lausige Altersversorgung in der Republik zu beschweren, dann sieht die gute Angela als Absender A.Lois@gmx.net.

Kurz: Alle emails, die im lokalen Netz an lokale Benutzer gesendet werden, erhalten als Absenderadresse die Adresse auf dem mailserver im lokalen Netz; wird eine email über einen smarthost (smtp.gmx.net oder smtp.web.de) geschickt, wird die Adresse umgeschrieben in die Adresse des smarthosts.

Das müßte doch irgendwie/irgendwo zu konfigurieren sein. Und datenschutzrechtlich sind wir doch auch auf der sicheren Seite, oder?

WWW (wer weiß was)?

rr.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

rodorapido schrieb:

WWW (wer weiß was)?

Schau mal hier.

rodorapido

(Themenstarter)
Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Thomas_Do schrieb:

Schau mal hier.

Nicht schlecht; das werde ich mir heute abend mal ansehen.

rr.

rodorapido

(Themenstarter)
Avatar von rodorapido

Anmeldungsdatum:
23. März 2014

Beiträge: 68

Also ich hab das jetzt studiert und gelöst gekriegt wie folgt (Lösung gültig nur für eine Splitkonfiguration!):

Wir tragen für jeden Benutzer in der Datei /etc/exim4/conf.d/router/200_exim4_config_primary folgendes ein (demonstriert für den Benutzer A (das ist unser Oppi Alois)):

smarthost_userA:
  	debug_print = "R: smarthost_userA for $local_part@$domain"
  	driver = manualroute
  	domains = ! +local_domains
  	transport = remote_smtp_smarthost
  	condition = ${if eq {${lc:$sender_address}}{A.Lois@web.de}{yes}{no}}
 	route_list = * smtp.web.de byname
 	host_find_failed = ignore
  	same_domain_copy_routing = yes
  	no_more

Dann in der Datei /etc/exim4/passwd.client die SMTP-Zugangsdaten zu Oppis ISP eintragen:

smtp.web.de:login-Kennung:strenggeheimespasswort

Jetzt legen wir die Datei /etc/exim4/smtp_users an. Dort steht folgendes drinnen:

A.Lois@web.de:  user=userA

Und schließlich tragen wir in der Datei /etc/exim4/conf.d/rewrite/31_.... ein:

*@* "${extract{user} {${lookup{$0}lsearch{/etc/exim4/smtp_users}{$value}fail}} {$value} fail}@meinserver.net" T

Anschließend exim4 neu starten

sudo systemctl restart exim4

Und: es läuft!

Vielen Dank für Eure Hilfe.

rr.

Antworten |