0

次のクラスを作成して、ディスク上の既存の Outlook .msg ファイル (「テンプレート」) を開き、いくつかのプロパティを変更し、添付ファイルを追加して、別の場所のディスクに保存し直しました。ただし、Outlook を開くと、保存場所に加えて受信トレイに新しいファイルが表示されます。どの Outlook フォルダーにも保存したくありません。ディスク上のファイルを変更するだけです。受信トレイに保存されないようにするにはどうすればよいですか?

public class OutlookMailManager
{
    public const string OutlookExtn = ".msg";

    public void GenerateMail(string toAddress, string fromAddress, string templateFile, string outputFile, string attachmentFile)
    {
        MailItem item = OpenMessage(templateFile);
        item.To = toAddress;
        item.SentOnBehalfOfName = fromAddress;
        item.Attachments.Add(attachmentFile);
        SaveMessage(outputFile, item);
    }

    private MailItem OpenMessage(string fileName)
    {
        var app = new Application();
        return (MailItem)app.Session.OpenSharedItem(fileName);
    }

    private void SaveMessage(string fileName, MailItem item)
    {
        fileName = Path.ChangeExtension(fileName, OutlookExtn);
        item.SaveAs(fileName, OlSaveAsType.olMSG);
    }
}
4

1 に答える 1

2

Extended MAPI (C++ または Delphi のみ) およびOpenIMsgOnIStg関数またはRedemption (任意の言語) を使用できます。RDOSession オブジェクトのインスタンスを作成し、RDOSession.GetMessageFromMsgFileを呼び出し ( RDOMailオブジェクトのインスタンスを返します)、それを変更し、RDOMail.Save を呼び出します。または RDOMail.SaveAs。

于 2013-11-06T18:53:29.833 に答える