メールを再送信するために、Outlook 2016アドインに「再送信」コンテキストメニューを追加したいとします。必要に応じて元の電子メールを変更して「送信」ボタンを押してください。送信ボタンで編集可能であることを示すのではなく、元のメッセージ(またはMailItem.Copy()で作成されたコピー)のDisplay()を呼び出してメッセージを表示するだけで、メールのコピーを作成する必要があるようです。 再送信するOutlook電子メールの複製
は、私がこれまでに得た - かなりまっすぐ進む:添付ファイルをコピーしようとしたとき 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);
しかし、私はDISP_E_MEMBERNOTFOUNDエラーを取得しています。私は間違って何をしていますか?
これは、1つは、ローカル(一時)ファイルに保存し、再接続する必要があります添付ファイルをコピーするプログラム的にのように見えますか? MailItem.Copy()の電子メールを送信できるように、送信された電子メールの '送信済み'フィールド/プロパティをリセットする方法はありませんか? – Jimmy
いいえ、添付ファイルを再追加しても、コピーする必要があるその他の添付ファイルのプロパティがあります。例えば。 HTML画像添付ファイルの場合は、添付ファイルのcontents-idをコピーする必要があります.HTML本体では画像は表示されません。 –