• Bewerte uns auf OMR Reviews: Klick

  • Achtet bitte in den Beiträgen darauf, dass ihr keine Informationen teilt, die der DSGVO unterliegen können. Verpixelt bitte die entsprechenden Stellen in Screenshots, postet hier auf keinen Fall Messagatracks ohne Rücksprache und auch in den Log Files können persönliche oder sensible Daten enthalten sein.

    Macht uns auch bitte per PN darauf aufmerksam wenn ihr etwas seht. Schreibt mich (@sören) einfach direkt an. 

Gelöst Rule für rewrite/reroute bestimmter Mails - Regex Möglichkeit?

WanTan

New member
Hallo zusammen,

ich stehe vor folgendem Problem: Ich benötige eine Rule um Mails, welche an einen bestimmten Empfänger gehen, entweder zu rerouten oder den Empfänger zu rewriten.

So weit so einfach, aber: Die Empfängermails sehen z.B. so aus: test1@domain.tld, test23@domain.tld, test456@domain.tld. Die Adresse besteht also aus einem Namen mit 1-3 Zahlen danach. Mails an diese Adresse sollen umgeleitet (oder umgeschrieben) werden auf test@domain.tld, das ganze Ding halt ohne Zahlen.

Wildcards im Scope bei Address patterns, test*@domain.tld, sind mir nicht genug. Ein testing@domain.tld soll ja durchgehen und nicht geändert werden, test5@domain.tld aber schon.

Hätts mit Regex versucht bei den Address patterns - Speichern kann ich das zwar, aber bekomme ein Unable to relay.
Weiters versucht mit test*@domain.tld in den patterns und als Action mit Receiver rewriter im Match ebenfalls via Regex (match test[0-9]+@domain.tld und replace with test@domain.tld), leider auch ohne Erfolg. Jetzt gehen mir leider die Ideen aus.

Danke für jegliche Art von Input!

LG WanTan
 
Danke für jegliche Art von Input!
Was du machen kannst, du erstellst erstmal eine geklonte inbound rule und machst ein match auf:

1721897539299.png


Als zweites machst du Header Based Routing auf den Namen der Regel, du brauchst dazu das SQL Management Studio und du solltest das auch nur machen, wenn du dir das zutraust!!! ;) (sichere dir zumindest einmal die DB weg bevor du irgendwas veränderst)


Header based routing ab Version 14







Konnektoren stehen seit der 14er Version in der Datenbank in der Tabelle [NoSpamProxyAddressSynchronization].[Configuration].[InboundSendConnector] (inbound)



Um Header basiertes Routing zu ermöglichen, sollte zunächst ein Dummy-Konnektor in der NCC des NSP erstellt werden.



Anschließend kann ein Rechtsklick auf die Tabelle [NoSpamProxyAddressSynchronization].[Configuration].[InboundSendConnector] ausgeführt und auf "Oberste 200 Zeilen bearbeiten" gegangen werden.



Nun kann der Wert der Spalte "SerializedConfiguration" von dem neu angelegten Dummy Konnektor kopiert und in einen Editor eingefügt werden.



Beispiel:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Dieser Wert Kann nun im Editor angepasst werden:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[{"headerName":"to","value":"*user1@domain.com*"},{"headerName":"to","value":"user2@domain.com"}]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Der Angepasste Wert kann nun wieder in die Spalte eingefügt werden.



Alternativ kann das Ganze für den eingehenden Sendekonnektor auch mittels der aktiv gewordenen Regel gefiltert werden:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[{"headerName":"X-NoSpamProxy-Rule","value":"*Regelname*"}]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Zum Schluss muss der Konnektor in der Konsole geöffnet und explizit gespeichert werden.
 
Zuletzt bearbeitet:
Ich weiß es nicht, aber kann NSP keine "normalen" Wild-Card-Regeln? also * für beliebig viele Zeichen jeglicher Art, ? für genau ein Zeichen und # für genau eine Ziffer?
In dem Fall würde es ja genügen eine Weiterleitung einzurichten und der test#@domain, test##@domain und test###@domain mitzugeben, ohne an der Datenbank rumzufummeln.
 
Ich weiß es nicht, aber kann NSP keine "normalen" Wild-Card-Regeln? also * für beliebig viele Zeichen jeglicher Art, ? für genau ein Zeichen und # für genau eine Ziffer?
In dem Fall würde es ja genügen eine Weiterleitung einzurichten und der test#@domain, test##@domain und test###@domain mitzugeben, ohne an der Datenbank rumzufummeln.
# für Ziffer habe ich tatsächlich auch schon probiert, es werden aber leider wirklich nur * und ? akzeptiert wie es auch im Tooltip steht.

Als zweites machst du Header Based Routing auf den Namen der Regel, du brauchst dazu das SQL Management Studio und du solltest das auch nur machen, wenn du dir das zutraust!!! ;) (sichere dir zumindest einmal die DB weg bevor du irgendwas veränderst)
Danke! Ich werde das bei nächster Gelegenheit mal probieren. Das Ganze ist eh erst teilweise scharf, kann also auch nicht komplett alles abschießen 😅
 
Was du machen kannst, du erstellst erstmal eine geklonte inbound rule und machst ein match auf:

Anhang anzeigen 1098


Als zweites machst du Header Based Routing auf den Namen der Regel, du brauchst dazu das SQL Management Studio und du solltest das auch nur machen, wenn du dir das zutraust!!! ;) (sichere dir zumindest einmal die DB weg bevor du irgendwas veränderst)


Header based routing ab Version 14







Konnektoren stehen seit der 14er Version in der Datenbank in der Tabelle [NoSpamProxyAddressSynchronization].[Configuration].[InboundSendConnector] (inbound)



Um Header basiertes Routing zu ermöglichen, sollte zunächst ein Dummy-Konnektor in der NCC des NSP erstellt werden.



Anschließend kann ein Rechtsklick auf die Tabelle [NoSpamProxyAddressSynchronization].[Configuration].[InboundSendConnector] ausgeführt und auf "Oberste 200 Zeilen bearbeiten" gegangen werden.



Nun kann der Wert der Spalte "SerializedConfiguration" von dem neu angelegten Dummy Konnektor kopiert und in einen Editor eingefügt werden.



Beispiel:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Dieser Wert Kann nun im Editor angepasst werden:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[{"headerName":"to","value":"*user1@domain.com*"},{"headerName":"to","value":"user2@domain.com"}]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Der Angepasste Wert kann nun wieder in die Spalte eingefügt werden.



Alternativ kann das Ganze für den eingehenden Sendekonnektor auch mittels der aktiv gewordenen Regel gefiltert werden:



{"$type":"SmtpSendConnectorConfiguration","cost":90,"dispatchers":[{"$type":"SmarthostDispatcherConfiguration","smarthost":"127.0.0.1","port":25,"authentication":{"username":"","isEnabled":false},"connectionSecurity":"None","tlsCertificateThumbprint":"","tlsClientCertificateSelectionMode":"None","isClientAuthenticationRequired":false}],"namespaces":[{"senderDomainPattern":"nospamproxy.de","destinationDomainPattern":"*"}],"headerMatches":{"comparison":"Or","matches":[{"headerName":"X-NoSpamProxy-Rule","value":"*Regelname*"}]},"hostNameOverride":"","id":2,"name":"Header-based Routing"}

Zum Schluss muss der Konnektor in der Konsole geöffnet und explizit gespeichert werden.

Auch wenns jetzt schon etwas her ist - wollte nur Bescheid geben, dass wir das wie beschrieben angepasst haben und es funktioniert damit super.
 
Zurück
Oben