Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
FROM bei EINGEHENDEN Mails ändern
ascabg:
Somit bewegst Du Dich im Script-Bereich.
Driri hat die andere Variante genommen mit dem @-Formel-Bereich.
Hier eine kleine Anregung in Bezug auf den Script-Bereich
--- Code: ---Sub Initialize
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim i As Integer
Dim strDomain As String
Dim strAdress As String
Set db = ses.CurrentDatabase
If db.IsOpen Then
Set col = db.UnprocessedDocuments
If col.Count > 0 Then
For i = 1 To col.Count
Set doc = col.GetNthDocument(i)
If Not (doc Is Nothing) Then
strDomain = Strright(Lcase(Trim(doc.GetItemValue("Form")(0))), "@")
strAdress = Strleft(Trim(doc.GetItemValue("From")(0)), "@")
If strDomain = "de.firma.com" Then
strDomain = Strright(strDomain, ".")
Call doc.ReplaceItemValue("From", strAdress & "@" & strDomain)
Call doc.Save(True, False, False)
End If
End If
Next
End If
End If
End Sub
--- Ende Code ---
Der Code hat keinen Anspruch auf Vollstaendigkeit, zumal es keine Fehlerbehandlung gibt.
Aber grob gesagt den Code in einen Agenten kopiert und den Agenten so eingestellt, dass er dann laeuft, wenn ein neues Mail eingeht.
Andreas
KoshNaranek:
Ah... hatte erst jetzt Zeit zum basteln.
Vielen Lieben Dank an acabg.
Ich habe dein Script etwas umgeschrieben. Irgendwie wollte er die Domain nicht rausrücken.
Jetzt parke ich die Adresse in einem String zwischen ... alles FAST Schick ;)
--- Code: ---Sub Initialize
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim i As Integer
Dim strDomain As String
Dim strAdress As String
Dim strMadresse As String
Set db = ses.CurrentDatabase
If db.IsOpen Then
Set col = db.UnprocessedDocuments
If col.Count > 0 Then
For i = 1 To col.Count
Set doc = col.GetNthDocument(i)
If Not (doc Is Nothing) Then
strMadresse=doc.GetItemValue("From")(0)
' Messagebox strMadresse
strDomain = Strright(strMadresse, "@")
strAdress = Strleft(strMadresse, "@")
' Messagebox strAdress
' Messagebox strDomain
If Trim(Lcase(strDomain)) = "de.firma.com" Then
strDomain = "firma.com"
' Messagebox "Neu: " & Trim(strAdress) & "@" & Trim(strDomain)
Call doc.ReplaceItemValue("From", strAdress & "@" & strDomain)
Call doc.Save(True, False, False)
End If
End If
Next
End If
End If
End Sub
--- Ende Code ---
Es dauert ca. 2 Minuten, bis die Mail NACH dem Eingang umgestrickt wird... kann man das evtl. beschleunigen? Sonst holt es der IMAP-Client ggf. schon ab, bevor die Adresse berichtigt wurde...
koehlerbv:
Die maximale Beschleunigung, die Du erreichen kannst, bekommst Du über die NOTES.INI-Einstellungen
AMGR_NEWMAILAGENTMININTERVAL=1
AMGR_NEWMAILEVENTDELAY=1
Mehr geht nicht - ansonsten gilt (wie üblich): "'Sofort' ist, wenn der Domino Zeit dafür hat!".
Wenn es dermassen kritisch ist, müsstest Du Dir wirklich einen Hook schreiben (lassen), der schon auf die MAIL.BOX des Dominos zugreift, bevor irgendetwas passiert.
Bernhard
PS: Ich würde vorher aber alles ausreizen, was diesen Adress-Verbiege-Stunt obsolet machen würde ...
KoshNaranek:
...ich würde das auch gerne ausreitzen.
Kritisch ist es nicht - nur nervig ;) Schreib mal eine Regel, wenn jeder Anwender 3 - 4 Adressen hat.
Leider habe ich auf die Adressen, die da rein kommen erstmal keinen Einfluss.
Rein kommt alles in Paris - da steht eine Strickliesel, die ALLE Header nach ersetztbaren Email-Adressen durchsucht und ersetzt und die Mail dann auf die anderen Länder verteilt.
Ich könnte hier natürlich noch eine "Gegen-Strickliesel" dazwischen stellen - aber nur dafür ist mir der Aufwand zu groß - auch wenn ich dann wahrscheinlich bei unseren GF's einen Stein in Brett hätte - die verwirrt die Sache mit den "mehr als eine Emailadresse" doch erheblich ;D - mind. 2 mal die Woche kommt die Frage, ob man das "de." nach draußen auch sieht, wenn wir Mails versenden =)
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln