Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Basti07 am 20.02.09 - 10:59:12

Titel: Ausgehende Mails mit internen Kopie-Empfänger
Beitrag von: Basti07 am 20.02.09 - 10:59:12
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])
Titel: Re: Ausgehende Mails mit internen Kopie-Empfänger
Beitrag von: m3 am 20.02.09 - 11:49:38
Ä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.
Titel: Re: Ausgehende Mails mit internen Kopie-Empfänger
Beitrag von: Basti07 am 20.02.09 - 13:28:09
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
Titel: Re: Ausgehende Mails mit internen Kopie-Empfänger
Beitrag von: m3 am 20.02.09 - 13:50:27
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.
Titel: Re: Ausgehende Mails mit internen Kopie-Empfänger
Beitrag von: Thomas Schulte am 20.02.09 - 14:00:31
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.