1

我被这个困住了。这是我的示例代码。我想创建一个邮件项并像邮件消息一样从数据库中绑定它。然后我想用 Outlook 的回复模式回复它。添加从:,到:,该水平线等。在原始邮件上方.. 但它不适用于创建的邮件,例如“Globals.ThisAddIn.Application.CreateItem(OlItemType.olMailItem) as MailItem”

当 MailItem 是 Globals.ThisAddIn.Application.ActiveExplorer().Selection Items 之一时,MailItem.Reply() 工作正常,我在这里缺少什么?

谢谢..

            MailItem oItem = Globals.ThisAddIn.Application.CreateItem(OlItemType.olMailItem) as MailItem;
            oItem.Body = "...";
            oItem.To = "a@b.c";
            oItem.CC = "d@e.f";
            oItem.Subject = "....";
            MailItem response = oItem.Reply();

此处的错误代码: HMOutlookAddIn.dll 中出现“System.Runtime.InteropServices.COMException”类型的异常,但未在用户代码中处理

附加信息:无法发送邮件。

错误代码:-2147352567

4

1 回答 1

0

无需回复新创建的项目。回复方法只能用于接收到的消息。

相反,您需要使用 MailItem 类的Send方法。

    mail = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
       as Outlook.MailItem;
    mail.Subject = "A programatically generated e-mail";
    mailRecipients = mail.Recipients;
    mailRecipient = mailRecipients.Add("Eugene Astafiev");
    mailRecipient.Resolve();
    if (mailRecipient.Resolved)
    {
        mail.Send();
    }
    else
    {
        System.Windows.Forms.MessageBox.Show(
            "There is no such record in your address book.");
    }

您可能会发现以下文章很有帮助:

于 2016-06-08T12:39:04.650 回答