Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: suhle am 06.10.05 - 09:41:14
-
Hallo,
Aufgabe ist:
Aus einer alten Mail-DB die Mails an einen neuen Empfänger weiterleiten unter beibehaltung des originalen Absenders.
Dazu habe ich ich Scrpit geschriebn, was nur teilweise funktioniert, der grösste Teil der Mails kommt an, aber nicht alle und viel rpodzieren ein unzustellbar (sind aber trotzdem angekommen....)
Hat jemand eine Ahnung, wieso?
Unterschieden wird zwischen internen und externen Mails, das geht schon:
Sub Initialize
Dim session As New Notessession
Dim db As notesdatabase
Dim dc As notesdocumentcollection
Dim doc As notesdocument
Set db = session.currentdatabase
Dim folder As String
Dim view As NotesView
Dim temp_adress As Variant
Dim temp_principal As Variant
Dim temp_x As Variant
Dim temp_subject As Variant
'Abfrage des Ordners
Set view = db.getview( Inputbox( "Folder?") )
If view Is Nothing Then
Messagebox "No Mails in this Folder"
Exit Sub
End If
Messagebox view.Name
Set doc = view.GetFirstDocument()
'sichern temp - From field
'inetsend <- temp from field
While Not(doc Is Nothing)
'Auslesen
temp_principal = doc.GetItemValue("Principal")
temp_adress = doc.GetItemValue("From")
temp_subject = doc.GetItemValue("Subject")
temp_x = doc.GetItemValue("X_Env_Sender")
If temp_principal(0) = "" Then
doc.from = temp_x
doc.INetFrom = temp_x
doc.Subject = "Original von: "+ Cstr(temp_x(0)) + " : " + Cstr(temp_subject(0))
Else
doc.from = temp_principal
doc.INetFrom = temp_principal
doc.Subject = "Original von: "+ Cstr(temp_x(0)) + " : " + Cstr(temp_subject(0))
End If
'senden
doc.SendTo = "markku@online.de"
Call doc.Send( False )
Set doc = view.GetNextDocument(doc)
Wend
End Sub
Gruss
Stefan
-
gibt es Gesetzmäßigkeiten, bei welchen Mails die Fehler auftreten?
Ich hatte mal probleme mit Antwortmails, dies sind ja Antwortdocumente
-
Hallo,
das weiss ich noch nicht, aber ich schau mal nach.
das wäre ein Aspekt.
Gruss
S.
-
Hallo,
hatte vor einiger Zeit mal das Problem nicht auf meine firmeninterne MailDB zugreifen zu können, war unterwegs und konnte nicht auf das Firmennetz zugreifen. Ich habe mir diesen Agenten zusammengebaut, er leitet alle eingehenden Mails an eine Vorgegebene Adresse weiter.
Sub Initialize
Dim session As NotesSession
Set session = New NotesSession
Dim db As notesdatabase
Dim Maildoc As notesdocument
Set db = session.CurrentDatabase
Dim doc As NotesDocument
Set doc = session.DocumentContext
Set Maildoc = New NotesDocument( db )
Call doc.CopyAllItems( Maildoc, True )
Maildoc.From = doc.From(0)
Maildoc.Principal = doc.From(0)
Maildoc.SendTo = "abc@def.de"
Maildoc.Subject = "weitergeleitet aus Firma... " + doc.Subject(0)
Call Maildoc.Send(False)
End Sub
hoffe es hilft weiter.
-
Danke, aber das brauche ich nicht. Die mail-DB wird nie wieder neue Mails bekommen, man muss die vorhandenen verarbeiten.
Gruss
S.
-
Warum nimmst Du nicht die zu übertragenden Mails (mit Deinem bisherigen Algorithmus), trägst in diese Dokumente statt SendTo den neuen Empänger ein und kopierst diese (nach wie vor virtuellen, da nicht gespeicherten) Dokumenten in die MAIL.BOX des Servers ?
Bernhard
-
Hallo Bernhard,
vielen Dank für diesen Ansatz.
Ich frage mal ganz dumm, und wie mache ich das?
Wie greife ich darauf zu?
Funktioniert das ganze auch lokal?
Danke schon mal im Voraus.
Gruss
Stefan