Ich möchte in meinem Outlook 2016-Add-In ein "erneut senden" -Kontextmenü hinzufügen, um eine E-Mail erneut zu senden. Die ursprüngliche E-Mail-Adresse sollte dem Benutzer erneut angezeigt werden, damit er gegebenenfalls Änderungen vornehmen kann. Drücken Sie dann die Taste "Senden". Es scheint, dass ich eine Kopie der E-Mail erstellen muss, da der Aufruf von Display() auf der ursprünglichen Nachricht (oder einer mit MailItem.Copy() erstellten Kopie) nur die Nachricht anzeigt, anstatt sie mit einer Send-Schaltfläche bearbeitbar zu machen.Klonen einer Outlook-E-Mail zum erneuten Senden
habe ich dies so weit - ziemlich geradlinig:
Outlook.MailItem clone = Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
clone.SendUsingAccount = email.SendUsingAccount;
clone.To = email.To;
clone.CC = email.CC;
clone.BCC = email.BCC;
clone.Subject = email.Subject;
clone.Body = email.Body;
clone.HTMLBody = email.HTMLBody;
for (int i = 1; i <= email.Attachments.Count; ++i)
clone.Attachments.Add(email.Attachments[i], email.Attachments[i].Type, email.Attachments[i].Position, email.Attachments[i].DisplayName);
Allerdings bin ich ein DISP_E_MEMBERNOTFOUND Fehler bekommen, wenn die Anlagen zu kopieren versuchen. Was mache ich falsch?
Es sieht aus wie programmatisch eine Anlage kopiert ein zu einer lokalen (temp) Datei und speichern muß wieder befestigen? Es gibt keine Möglichkeit, die gesendeten Felder/Eigenschaften einer gesendeten E-Mail zurückzusetzen, sodass die E-Mail-Nachricht von MailItem.Copy() gesendet werden kann. – Jimmy
Nein, und selbst wenn Sie den Anhang erneut hinzufügen, müssen andere Anhangseigenschaften kopiert werden. Z.B. Für die HTML-Bildanhänge müssen Sie die Inhalts-ID des Anhangs kopieren, anderenfalls zeigt der HTML-Text das Bild nicht an. –