我正在编写一个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
的异常。错误是
'无法找到对象'
。 我需要做的是添加和删除收件人以及在发送之前在报价上设置 CC 和 BCC 字段。收件人可能不在地址簿中。我已经使用其他邮件库完成了这项工作,它应该很简单,但我似乎正在为Outlook推出错误的树。
编辑发现它 - 感谢德米特里指出我正确的方向。
Outlook.Recipient rcp = theMail.Recipients.Add("joe blow <joe@blow.com>");
rcp.Type = (int)Outlook.OlMailRecipientType.olTo;
答案 0 :(得分:1)
必须先解析收件人。并且您无法设置AddressEntry.Address属性 - 即使它是可设置的,它也不会指向消息收件人表。
Outlook.Recipient rcp = theMail.Recipients.Add("Joe Blow <joe@blow.com>");
rcp.Resolve();