0

我正在编写一个 Outlook 2007 加载项,该加载项组成一个商业报价以响应电子邮件查询。我使用 Windows 表单撰写报价单。一切正常,直到我用报价信息回复原始消息。

private void btnSend_Click(object sender, EventArgs e) 
{
    Outlook.MailItem theMail = ((Outlook._MailItem)quote.mailItem).Reply();
    theMail.Subject = "This is the quote";
    theMail.Body = <Some html composed elsewhere>;

    Outlook.Recipient rcp = theMail.Recipients.Add("Joe Blow");
    Outlook.AddressEntry ae = rcp.AddressEntry;
    ae.Address = "joe@blow.com";
}

quote.mailItem传入的电子邮件请求在哪里。当我运行代码时,它会抛出一个正在执行的异常rcp.AddressEntry。错误是

'找不到对象'

. 我需要做的是添加和删除收件人以及在我发送报价之前在报价上设置CCBCC字段。收件人可能不在通讯录中。我已经用其他邮件库做到了这一点,它应该很简单,但我似乎为 Outlook 找错了树。

编辑找到它 - 感谢 Dmitry 为我指明了正确的方向。

Outlook.Recipient rcp = theMail.Recipients.Add("joe blow <joe@blow.com>");
rcp.Type = (int)Outlook.OlMailRecipientType.olTo;
4

1 回答 1

1

收件人必须先解决。而且您不能设置 AddressEntry.Address 属性 - 即使它是可设置的,它也不会指向消息收件人表。

Outlook.Recipient rcp = theMail.Recipients.Add("Joe Blow <joe@blow.com>");
rcp.Resolve();
于 2013-05-02T22:38:20.397 回答