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
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
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
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 ;)
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
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...