Domino 9 und frühere Versionen > ND6: Entwicklung

Ausgehende Mails mit internen Kopie-Empfänger

(1/1)

Basti07:
Hi zusammen,

aktuell haben wir noch ein Problem, dass unser Mailserver das Feld 'CopyTo' für externe Empfänger falsch formatiert, wenn im CopyTo interne User aufgeführt sind. Um das Serverseitig richtigzustellen, fehlt momentan die Zeit und soll in unserer IQSuite vorerst per Agent richtiggestellt werden.

Aktuell sehen unsere Mails wie folgt aus:

So sieht es derzeit beim Empfänger aus:
To:  Name.Vorname@extern.de
Cc:  Peter_Mustermann/Domain@Domain.de

Und so soll es aussehen:
To:  Name.Vorname@extern.de
Cc:  Peter.Mustermann@Domain.de

Ich habe mich nun daran versucht einen Dummy-Agenten zu bauen, welcher das Feld 'CopyTo' auf Mailadressen prüft, die falsch angezeigt werden. Der Agent soll dann mit Hilfe von @NameLookup die korrekte Adresse aus der names.nsf ziehen und das CopyTo entsprechend korrigieren.

Um das zu testen, habe ich mir eine Maske gebaut, die entsprechendes per Knopfdruck erledigen soll.

Mit folgendem Code funktioniert's, allerdings mit dem Unterschied, dass mein 'CopyTo'-Feld ein TEXTFELD ist!
Wie bekomme ich das ganze mit einem NAMENSFELD hin, denn das originale 'CopyTo' ist ein NAMENSFELD? Hier macht er nämlich Probleme, da er das 'CopyTo'-Feld unverändert lässt.

Vielen Dank
Gruß Basti


--- Code: ---REM {Variablen};
_Tmp_1 := "_";
_Tmp_2 := "/Domain@Domain.DE";
_Tmp_Domain := @Left(CopyTo;"/Domain@Domain.DE");
_Vorname := @Left(_Tmp_Domain ;"_");
_Nachname := @Right(_Tmp_Domain ;"_");
_Name_Falsch := _Vorname + _Tmp_1 + _Nachname + _Tmp_2;
_Name := _Vorname + " " + _Nachname;
_MailAddy := @NameLookup([NoUpdate];_Name;"InternetAddress");

REM {Im vorhandenen CopyTo-Feld alle "falschen" Mailadressen entfernen};
FIELD CopyTo := @ReplaceSubstring(CopyTo;_Name_Falsch;"");

REM {Restliche Mailadressen aus CopyTo ermitteln};
_GetFeld := @Implode(@GetField("CopyTo"));

REM {Zwischengespeicherten Inhalt von _MailAddy und _GetFeldin das CopyTo-Feld setzen};
FIELD CopyTo := @Trim(@SetField("CopyTo";_MailAddy : _GetFeld));

@Command([RefreshWindow])
--- Ende Code ---

m3:
Äh, das wäre entweder ein primitiver Agent, der die Internet-Adresse in der names.nsf ändert oder ein Klick im Konfigurationsdokument. Auf jedenfall einfacher als dieser geplante Stunt.

Basti07:
m3, die Internet-Adresse in der names.nsf ist ja bereits richtig, deshalb ziehe ich sie ja auch per @NameLookup raus.
Das Problem ist, dass unser Server beim Versenden einer Mail, die Mailadresse falsch zusammenbaut und ins CopyTo Feld schreibt.

Mir geht es prinzipiell nur um eine Antwort auf die Frage: Wie kann ich meinen Lösungsansatz so verändern, dass es auch bei einem Feld mit dem Typ "NAMEN" funktioniert  ;)

Gruß Basti

m3:
Jaja, ich versteh Dich schon, aber ich bin trotzdem der Meinung, dass Du die Ursache und nicht das Symptom bekämpfen solltest. Und das liegt meiner meinung nach an einer falschen Konfiguration des Servers.

Zu Deiner Frage: Du solltest CopyTo dann wieder eine Liste zurückliefern, dann sollte es klappen.

Thomas Schulte:
Also wenn das Serverseitig falsch läuft und ja auch wenn "die Zeit dafür fehlt", dann macht das in Gottes Namen auf dem Server richtig. Der ist für die korrekte Auflösung zuständig, nicht irgendein Agent oder Tool.

Das ist ungefähr so wie wenn dir jemand ein Messer in den Rücken rammt. Du es stecken lässt, ein Pflaster drüberklebst und dann weil es weh tut dauernd Aspirin schluckst.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln