| Autor |
Beitrag |
Steve1024
      
Beiträge: 141
Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
|
Verfasst: Sa 25.08.07 09:59
Hi,
ich möchte ein Tool schreiben um die Öffentlich Ordner von MS Exchange auf eine Lotus Notes .nsf Datenbank zu migrieren.
Auf Notes kann ich soweit auch gut zugreifen.
Nun mein Problem:
Ich erstelle im Notes ein neue Dokument (memo bzw. mail). Übertrage alle notwendigen informationen und speicher das ganze. Damit wird das ganze in Entwürfe gespeichert.
Nun habe ich den Befehl PutInFolder gefunden, mit welche ich das ganze eigentlich in den Posteingang (oder einen anderen Ordner) verschieben können sollte. Nur: Es bleibt in den Entwürfen. So habe ich die selbe Mail in Entwüfe und Posteingang. Wenn ich nun die Mail in den Entwürfen händisch lösche, sind beide weg.
Hat von euch einer eine Ahnung wie man das Problem lösen kann? Ich zähl auf euch *g*
Gruße Steve
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| var NotesSession: Variant; Database, Template, View: Variant; Mail: Variant; vI : Integer; begin NotesSession := CreateOleObject('Notes.Notessession'); Template := NotesSession.GetDatabase('','Mail6.ntf',TRUE); IF not Template.IsOpen THEN Template.Openmail; Database := NotesSession.GetDatabase('','TestDB01',TRUE); IF not Database.IsOpen THEN Database.Openmail; IF not Database.IsOpen THEN begin Template.CreateFromTemplate('','TestDB01',FALSE); Database := NotesSession.GetDatabase('','TestDB01',TRUE); IF not Database.IsOpen THEN Database.Openmail; end;
Database.Title := 'Test Mailbox'; Database.Replicate(''); View := Database.GetView('($Inbox)'); FOR vI := 0 to 10-1 do begin Mail:=Database.Createdocument; Mail.Appenditemvalue('From','info@pricosoft.de'); Mail.Appenditemvalue('SendTo','du@pricosoft.de'); Mail.Appenditemvalue('Subject','Blub_' + IntToStr(vI)); Mail.Appenditemvalue('Body','Text'); Mail.Save(TRUE,FALSE,FALSE); Mail.PutInFolder('($Inbox)',TRUE); Mail.RemoveFromFolder('($Drafts)'); end; end; |
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 25.08.07 22:16
Moin!
Steve1024 hat folgendes geschrieben: | | Ich erstelle im Notes ein neue Dokument (memo bzw. mail). Übertrage alle notwendigen informationen und speicher das ganze. Damit wird das ganze in Entwürfe gespeichert. |
Das ist zunächst auch mal korrekt so (jedenfalls aus Sicht von Notes  ).
Steve1024 hat folgendes geschrieben: | | Nun habe ich den Befehl PutInFolder gefunden, mit welche ich das ganze eigentlich in den Posteingang (oder einen anderen Ordner) verschieben können sollte. |
Nein, das ist was anderes; der Posteingang in der Standard-R6-Schablone ist kein Ordner, sondern nur eine Ansicht. Deshalb wird das IMHO nicht damit klappen; und ich fürchte auch, das du das mit den Standard-Funktionen auch nicht erreichen können wirst (also eine Mail-Dokument so in die Datenbank einzutragen, dass es wie eine empfangene Mail aussieht, ohne an den Feldern des Dokuments entsprechende manuelle Änderungen vorzunehmen, als ob sie der Mail-Router-Task ausgeführt hätte  ).
Steve1024 hat folgendes geschrieben: | | Nur: Es bleibt in den Entwürfen. So habe ich die selbe Mail in Entwüfe und Posteingang. Wenn ich nun die Mail in den Entwürfen händisch lösche, sind beide weg. |
Das Verhalten ist auch so völlig korrekt.
Steve1024 hat folgendes geschrieben: | | Hat von euch einer eine Ahnung wie man das Problem lösen kann? |
Leider habe ich dafür auch keine Lösung zur Hand...  Schau mal in der IBM-Knowledge-Base (bzw. Notes-NB) oder in den diversen Notes-Foren; das ist eigentlich kein Delphi-Problem.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Steve1024 
      
Beiträge: 141
Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
|
Verfasst: Sa 25.08.07 22:52
Hast du mir vielleicht einen Link dazu?? Ich habe leider nichts gefunden... weder über google noch über IBM.
|
|
Steve1024 
      
Beiträge: 141
Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
|
Verfasst: Di 28.08.07 17:25
OK.. ich habe eine Antwort darauf gefunden...
Man nehme eine Empfangene e-Mail und probiere alle Parameter aus... und irgendwann funktioniert es... *g*
Also auch für alle Anderen.. die wichtigen Zeilen sind:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var vDT : TDateTime; Document : Variant; begin Document.Appenditemvalue('Form','Memo'); Document.Appenditemvalue('DeliveredDate',vDT); Document.Appenditemvalue('PostedDate',DateTimeToStr(vDT)); end; |
|
|
|