Postfix: Nur bestimmte Adressen lokal ausliefern

mail
german

#1

Hallo Forum,

ich habe mit UCS+Zarafa folgende Problematik:

Manche E-Mailempfänger einer Domain sollen lokal zugestellt werden, der (unbekannte) Rest derselben Domain soll an einen Smarthost ausgeliefert werden.

Ich habe hier im Forum schon diesen Ansatz über das LDAP-Attribut univentionMailHomeServer gelesen, der meinen Anforderungen schon recht nahe kommt:

Nur dass ich ja nicht eine endlich Zahl von Benutzern habe, deren Mails an den Smarthost gesendet werden sollen, sondern “alle, die dem lokalen System nicht bekannt sind”.

Kann ich es irgendwie erreichen, dass dass Mail an die Domain xy.de an den Smarthost gesendet werden es sei denn in univentionMailHomeServer steht das lokale System drin?

Bin für jeden Tip dankbar.

Beste Grüße

GW


Mailversand an gleiche Domain funktioniert nicht [Kopano]
#2

Hallo Forum.

Das Problem hat sich entschärft, da wohl die Zahl der Adressen die vom auswärtigen Smarthost bearbeitet werden müssen, wohl doch endlich ist. Daher kann ich die Lösung über einen Eintrag in univentionMailHomeServer verwenden.

Gruß

GW


#3

@gwilhelm

Ich habe gerade mit interesse Deinen Beitrag gelesen.

Da ich in etwa dass gleiche vorhabe, wäre es toll, wenn Du kurz dokumentieren könntest, wie Du dies gemacht hast.

Wir haben 3 gmail Konten die zum einen als eine primäres E-Mail-Adresse geführt ist und zum anderen als alternative E-Mail-Adressen.
Die anderen haben eigene Domains.

Die Mails für die 3 User sollen beim versenden intern gehandhabt werden und was natürlich stöhrt sind die gmail Konten die entweder alles extern gehen oder nur intern, daher möchte ich diese gerne sortieren, so das die intern bleiben und die unbekannten gmail extern versendet werden.

Ist insofern das gleiche wie bei Dir.

Viele Grüße Theo


#4

Hallo,

ich denke das Hauptproblem in diesen Fällen wird zumeist sein, dass beim Versuch, SMTP-Adressen von Domänen, die einem nicht gehören, die Fehlermeldung von UCS so “gelöst” wird, dass man diese Domänen als lokal im Mail-Modul einträgt.
Es wird besser sein, die Syntaxprüfung gemäß Postfix / externe Maildomäne umzustellen und dann die Konten, die lokal sein sollen, mit dem univentionMailHomeServer-Attribut auszustatten. Diese Kombination hab ich jetzt zwar nicht explizit getestet, nach meiner Erinnerung müsste sie aber funktionieren.

Viele Grüße,
Dirk Ahrnke


#5

@Dirk

Danke Dir für Deine Antwort.

Ich würde also über eine SSH Session im Terminal diesen Befehl absetzten:

ucr set  directory/manager/web/modules/users/user/properties/mailPrimaryAddress/syntax=string

Geht dies nicht auch über die Regystry des UCS in der Weboberfläche dort ist ja die UCR zu finden?

Zum anderen, was heisst die Konten sollten mit dem univentionMailHomeServer-Attribut ausgestattet werden.
Ich hab schon google bemüht aber nichts gefunden.
Im Forum gibt es noch den einen oder anderen Beitrag, dort wird aber auch nicht auf die Setzung des Atributes und dessen Hintergründe eingegnagen.
Bezieht sich dies auf das Feld in der Benutzerverwaltung unter Erweiterte Einstellung -> Mail -> Erweiterte Einstellungen -> Mail Home Server?
Was muss dort gesetzt werden ggf.

Viele Grüße Theo


#6

Hallo,

ja, die UCR-Variablen können natürlich auch in der UMC gesetzt werden.

Zum Thema univentionMailHomeServer ist im ersten Post ein Thread aus diesem Forum verlinkt. Dort habe ich etwas dazu geschrieben.

Ich bin mir aber zunehmend unsicher, ob es in diesem Fall unbedingt nötig ist, dieses Attribut zu setzen. Eigentlich wird das doch nur bei mehreren (UCS-)Mailservern gebraucht und ist korrekt sofoern schon eine lokale Mailbox auf dem einzigen Mailserver existiert.

Viele Grüße,
Dirk Ahrnke


#7

@Dirk Ahrnke,

Danke erst mal für die Antwort.
Hm, jetzt bin ich erst einmal komplett verwirrt indem was ich tun soll.
Wie würden Sie vorgehen um diese Problematik zu lösen, dass jeder User über seinen smtp Server versenden kann?
Ich frage auch nur so genau noch einmal nach, da ich eben einen anderen Post entdeckt habe, der nach ähnlichen Lösungen sucht.
Wäre toll wenn Sie uns auf die Sprünge helfen und einen Lösungsansatz haben.

Viele Grüße und danke im voraus Theo


#8

Laut einem Beitrag im Server Forum würde diese Einträge alle mails die intern nicht zugestellt werden können über den relay versenden.
Wie bringe ich dies nun dem Postfix i, UCR bei?

relayhost = [mail.example.org]:submission
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain, login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sender_dependent_authentication = yes

#9

[quote=“theodor.m”]Laut einem Beitrag im Server Forum würde diese Einträge alle mails die intern nicht zugestellt werden können über den relay versenden.
[/quote]

Wenn ich das Problem richtig verstanden habe, wollen Sie in Ihrem UCS mit Mailadressen arbeiten, bei denen Sie nicht der Eigentümer sind. Also GMX oder so. Das macht die Sache etwas kompliziert und die zitierten main.cf-Zeilen werden nicht helfen.

Im Normalfall geht Postfix davon aus, für eine komplette Domäne zuständig zu sein. Stichwort dazu: “mydestination”. Unter UCS werden dazu noch die Mail-Domänen, die man in der UMC anlegt, über die /etc/postfix/ldap.virtualdomains geholt.

Angenommen, ich will jetzt unter UCS zwei Mailboxen für @gmx.de Adressen anlegen, gestattet mir das System das zunächst nur, wenn ich gmx.de auch als Mail-Domäne anlege. Damit kann ich jetzt zwar die Mailboxen anlegen, werde aber zu keinem anderen GMX-Nutzer mehr Mails schicken können. Mein UCS-Postfix denkt schließlich, er wäre gmx.de und kennt die anderen nicht. Es ist m.E. dann auch unerheblich, ob Postfix über ein Relay sendet oder direkt.(Das System, mit dem ich gerade getestet habe sendet direkt.)
Die Lösung aus SMTP-Relay per recipient / unknown in virtual mailbox table ist hier nicht praktikabel. Ich müsste jede Menge Adressen in die Transport-Map eintragen.

An dieser Stelle kommt die Änderung der Domänenprüfung über die UCR-Variable “directory/manager/web/modules/users/user/properties/mailPrimaryAddress/syntax” ins Spiel. Die gestattet es nun, gmx.de nicht in die lokale Domänenliste aufnehmen zu müssen um ein Konto mit einer SMTP-Adresse von GMX erstellen zu können. Das funktioniert dann auch mit Zarafa (nicht mit Open-Xchange).

Bleibt das Problem, dass diese Mailboxen auch vom Postfix als lokal erkannt werden. Auch hier kann uns eine Transport-Map weiterhelfen. Meine ursprüngliche Idee, das univentionMailHomeServer-Attribut zu nehmen, scheint hier nicht immer (?) zu funktionieren. Zarafa bekommt die Mails über den dagent. Der lauscht auf 127.0.0.1:2003.

Ich hab jetzt mal eine UCR-Variable gesetzt mit der Mails an eine bestimmte GMX-Adresse nicht zu GMX sondern lokal ins Zarafa gehen:

ucr set mail/maps/transport/zaphod="zaphod.beeblebrox-424242@gmx.de lmtp:127.0.0.1:2003"

Das hat erstmal funktioniert, im Moment sehe ich noch keine Nebenwirkungen.

Ich hoffe, das hilft weiter.

Viele Grüße,
Dirk Ahrnke


#10

@Dirk Ahrnke

Wow, herzlichen Dank.
Sie sind ja so genial, das funzt einwandfrei mit Zarafa und postfix.
Ich denke da danken Ihnen einige und sind glücklich darüber und ich bin jetzt schon weiter.
Wo kann ich eine Kiste Bier hinsenden?

Viele Grüße Theo

PS: Jetzt geht es nur noch um die Spam/Ham integration in zarafa mit dem Plugin spamtrain und versenden über diverse Smarthosts/RelayServer


#11

Eine letzte Frage zu dem Thema habe ich noch, sorry…

Wenn ich dieses Eingetragen habe

ucr set  directory/manager/web/modules/users/user/properties/mailPrimaryAddress/syntax=string

Dann meckert die UMC wenn ich eine neue Gruppen anlege mit folgendem:

Das LDAP-Objekt konnte nicht gespeichert werden: Der Domänenteil der folgenden Mailadressen ist nicht in der Liste der eingerichteten Maildomänen enthalten: guruguru@gmail.com

Wenn ich einen User mit der gleichen Maildomain anlege ist es kein Problem, klar, da oben das Attribut geänder wurde.
demnach müsste es ja auch so etwas wie oben für die Gruppe geben, was demnach diesem entspricht

ucr set  directory/manager/web/modules/group/group/properties/mailPrimaryAddress/syntax=string

Gibt es dieses in der UCR?
Oder kann ich das so setzten?
Gefunden habe ich es nicht.

Workaround wäre sonst die Maildomain kurz zu erfassen, die Einträge zu machen und danach die Maildomain wieder zu löschen.

Gruß Theo


#12

Hallo,

wenn ich die Informationen aus [bug]23525[/bug] richtig verstehe, ist bei Gruppen die UCR-Variable

 directory/manager/web/modules/groups/group/properties/mailAddress

zu setzen.

Viele Grüße,
Dirk Ahrnke


#13

@ahrnke

 directory/manager/web/modules/groups/group/properties/mailAddress

müsste es nicht so sein, wenn ich den Bugrepeort richtig verstehe

ucr set directory/manager/web/modules/groups/group/properties/mailAddress/syntax=emailAddress

Gruß Theo


#14

Hallo,

die Syntax für Mailadressen von Gruppen dürfte im Moment schon per default auf “emailAddress” stehen, deshalb ist es ja nicht möglich, “fremde” Domains zu verwenden.
Deshalb sollte sie ebenfalls auf “string” gesetzt werden.

Viele Grüße,
Dirk Ahrnke


#15

Problem hier gepostet, da besser passend: