Mailitem nach senden abspeichern
Hallo Leute,
ich habe da ein kleines Problem: ich zeige ein Mailitem modal an und will, nachdem der user die Mail gesendet hat diese abspeichern. Beispielcode
Delphi-Quellcode:
Das problem ist ja, dass nach dem Senden die Mail erst in den Ordner postausgang und dann in Gesendete Objekte wandert.
Mailitem.display(true); // Modal anzeigen
if not DirectoryExists('C:mails\') then ForceDirectories('C:\mails\'); MailItem.SaveAs('C:\mails\123.msg',olMSG); Deswegen geht mein Code schonmal nicht ;-) Hat jemand vielleicht schonmal sowas gemacht? LG Jannes |
AW: Mailitem nach senden abspeichern
Du könntest die Absender-EMail-Adresse als BCC eintragen und bekommst so automatisch eine Kopie der versendeten EMail.
Das funktioniert unabhängig von der Art (SMTP, Mapi oder Automatisierung von Outlook) wie die EMail versendet wird. |
AW: Mailitem nach senden abspeichern
Moin sx2008,
hmm, das wär ja nicht die Anforderung, die Mail soll ja als msg in einer Ordnerstruktur abgelegt werden. ich dacht grad, ich könnte das auch wie folgt machen, erscheint mir aber nich wirklich zuverlässig, dass ich die so immer erwische
Delphi-Quellcode:
:
Mailitem.display(true);
NmSpace := OutlookApplication.GetNamespace('MAPI'); NmSpace.Logon(EmptyParam, EmptyParam, False, True); Folder := NmSpace.GetDefaultFolder(olFolderOutbox); //Folder.Display; MailItem := Folder.Items(1); // die mail ist jetzt im Postausgang if not DirectoryExists('C:mails\') then ForceDirectories('C:\mails\'); MailItem.SaveAs('C:\mails\123.msg',olMSG); das haben bestimmt schon viele besser als so gemacht ;-) |
AW: Mailitem nach senden abspeichern
Sendet dein Programm die Mail?
Wenn ja, warum speicherst du sie dann nicht direkt (vor oder nach) dem Senden? Ich bin mir grade nicht sicher, aber kann man Outlock nicht so einstellen, daß gesendete Mails garnicht nach Gesendet verschoben/gespeichert werden?
Delphi-Quellcode:
Ich hoffe das C:mails\ (ohne \) ist hier ein Schreibfehler (zum Glück mal ohne böse Auswirkungen, an dieser Stelle).
if not DirectoryExists('C:mails\') then
ForceDirectories('C:\mails\'); PS: DirectoryExists ist aber sowieso nicht nötig, da ForceDirectories dieses auch prüft. |
AW: Mailitem nach senden abspeichern
Moin himitsu,
ja, das Programm sendet die Mail, der Witz ist ja, dass der Anwender die Mail ändern können soll und ich sie erst anschließend speichere, so das die Änderungen des Anwenders mit drin sind. Zu verhindern, dass die Mail verschoben wird, wär schonmal nicht schlecht. Dann könnte ich sie anschließend, wenn ich sie gespeichert habe, mit move in die Gesendeten Objekte verschieben. Das müsste dann aber über die Properties des MailItems gehen, an Outlook direkt darf ich keine Einstellungen ändern :-( der Pfad wird eigentlich anders zusammengesetzt, hab ich nur für tests eben geändert, aber den Fehler werd ich sofort korrigieren ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz