Project

General

Profile

action #97775

Postfix Setup erweitern - Relay-by-Sender / Fallback-Relay

Added by flacco 3 months ago. Updated 3 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
Feature
Target version:
Start date:
2021-08-31
Due date:
2021-10-31
% Done:

80%

Estimated time:

Description

Beim Mailversand eines invis-Servers läuft der gesamte augehende Mailverkehr über einen definierten Relay-Host. Das stellt solange kein Problem dar wie der Relayhost für den Versand von Mails der enthaltenen Absende-Domain sendeberechtigt ist (SPF).

Ist das nicht der Fall und auf Empfänger-Seite wird eine SPF-Prüfung gemacht, werden Mails nicht zugestellt.

Konkretes Beispiel. Eine Kundin hat ihre Haupt-Mailadressen bei der Telekom, ergänzend aber auch Mailadressen anderer Domains. Versendet wird über einen kostenpflichtigen Smarthost der Telekom, der den Versand von Mails fremder Domains erlaubt (securesmtprelay.t-online.de). Natürlich hat er keine entsprechenden SPF-Einträge. Prüft jetzt der MX auf Empfängerseite bei Maileingang die SPF-Einträge, verweigert er zu recht die Annahme.

Als Lösungsweg für das Problem können bedingte Transportwege für Postfix konfiguriert werden. D.h. Wenn Absender gleich *@domain-x.de, dann versand via Transportweg sowieso. In den verschiedenen Transport-Definitionen können dann alternative Relay-Hosts verwendet werden.


Related issues

Related to invisAD-setup - action #98042: Release invis-Server 14.3In Progress2021-09-032021-11-30

History

#1 Updated by flacco 3 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

#2 Updated by flacco 3 months ago

Möglicher Ansatz ist die Kombi aus:

sender_dependent_relayhost_maps =
&
smtp_fallback_relay

Das ganze ließe sich auch direkt mit Daten aus dem LDAP füttern, damit könnte man für jedes externe Email-Konto gezielt den passenden Relayhost wählen. Setzt aber voraus, dass wir in Cornaz auch den Postausgangsserver abfragen und ins AD packen.

#3 Updated by flacco 3 months ago

  • % Done changed from 10 to 20

Erste Erfolge:

Postfix main.cf:

## Abweichende Transportwege - Sender-Abhaengig
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = texthash:/etc/postfix/alt-transport

/etc/postfix/alt-transport (Datei bekommt noch einen passenderen Namen)

heini@hilibilidili.de                   [mail.haus-drachen.de]:587
heinz@beckertec.de                      [mail1.fspisp.de]:587

Links die Absender-Adresse, rechts das Relay

Es müsste eigentlich auch funktionieren, wenn links nur die Absender-Domain steht, wird noch getestet.

In der sasl_passwd muss dann für jedes Relay ein Eintrag gemacht werden. Beispiel:

[mail1.fspisp.de]:587           stefan@startoss.de:passwort
[mail.haus-drachen.de]:587      heini@haus-drachen.de:passwort

Nächster Test: Fallback-Relay

#4 Updated by flacco 3 months ago

  • Category deleted (Feature)
  • Assignee deleted (flacco)
  • Target version deleted (Future)
  • % Done changed from 20 to 30
  1. Nur die Domain oder ein Ersetzungsmuster auf der linken Seite der Relay-Datei funktioniert nicht.
  2. Fallback-Relay funktioniert. Die Direktive greift auch dann, wenn vorherige Relay-Versuche fehlschlagen.

main.cf Ergänzung:

smtp_fallback_relay = [mail1.fspisp.de]:587

Für dieses Setup sollte/muss die Direktive "relayhost" leer sein:

relayhost = 

#5 Updated by flacco 3 months ago

  • Category set to Feature
  • Target version set to Future

#6 Updated by flacco 3 months ago

  • Assignee set to flacco

#7 Updated by flacco 3 months ago

Weitere Erkenntnisse:

  1. Die Direktive "relayhost =" muss nicht leer sein, die alternativen Sender-abhängigen Relays haben Vorrang.
  2. Es ist doch möglich als Absender lediglich die Domain in der Relayhost-Map anzugeben, allerdings in der Form "@domain.tld", ohne Sternchen davor.
  3. Ein Fallback-Relay anzugeben ist so oder so kein Schaden. Wird hier der gleiche Host wie bei der einfachen Relayhost-Direktive angegeben erfolgen im Fehlerfall zwei erfolglose Zustellversuche. Praktischerweise kann natürlich auch ein vom Standard ein alternativer Relayhost angegeben werden.

Ich baue das jetzt mal in die Postfix-Konfigurationsvorlagen ein.

#8 Updated by flacco 3 months ago

  • % Done changed from 30 to 40

Mit dem derzeitigen Setup werden für Relayhost und Fallback-Relay die selben Einträge vorgenommen. D.h. Relayhost = Fallback-Relay.

Im nächsten Schritt kann das Setup so angepasst werden, dass optional ein abweichendes Fallback-Relay definiert werden kann. Dafür müssen die Module "quest" und "mailserver" angepasst werden. Ich schau mir das mal an.

#9 Updated by flacco 3 months ago

  • Subject changed from Postfix setup erweitern to Postfix Setup erweitern - Relay-by-Sender / Fallback-Relay
  • Target version changed from Future to 14.3
  • % Done changed from 40 to 80

Ich lege jetzt einfach mal fest, dass ich den Status Quo so fest mache und als Ergänzung für 14.3 definiere.

Im zweiten Schritt -> Zielversion "Future" können wir daran arbeiten die Postfach-Informationen aus dem AD als Quelle für die Rely-by-Sender Map zu nutzen.

#10 Updated by flacco 3 months ago

#11 Updated by flacco 3 months ago

  • Priority changed from High to Normal

Also available in: Atom PDF