在我的申请中,我需要发送电子邮件。我不能使用smtp,没有选择以正常方式安装MS Outlook。我试过了;
private Microsoft.Office.Interop.Outlook.Application oApp;
private Microsoft.Office.Interop.Outlook._NameSpace oNameSpace;
private Microsoft.Office.Interop.Outlook.MAPIFolder oOutboxFolder;
oApp = new Outlook.Application();
oNameSpace = oApp.GetNamespace("MAPI");
oNameSpace.Logon(null, null, true, true);
Outlook._MailItem oMailItem = (Outlook._MailItem)oApp.
CreateItem(Outlook.OlItemType.olMailItem);
oMailItem.To = toValue;
oMailItem.Subject = subjectValue;
oMailItem.Body = bodyValue;
oMailItem.Send();
如果在计算机上安装并运行Office 2010,则此代码可以正常运行。但是我需要找出被引用的dll。是否可以从Outlook获取所需的dll并使用它们发送电子邮件?
提前致谢
答案 0 :(得分:1)
根据评论,示例说明如何使用Exchange Web服务通过Exchange服务器发送电子邮件。大部分信息可从以下link复制到答案中进行保存。
创建电子邮件并发送电子邮件的示例(在用户的已发送邮件文件夹中包含副本)
// Create an email message and identify the Exchange service.
EmailMessage message = new EmailMessage(service);
// Add properties to the email message.
message.Subject = "Interesting";
message.Body = "The merger is finalized.";
message.ToRecipients.Add("user1@contoso.com");
// Send the email message and save a copy.
message.SendAndSaveCopy();
有关创作here
的更多代码稍微复杂一点的是上述代码中使用的服务变量的实例化。哪个可用here
ExchangeService service = new ExchangeService();
service.Credentials = new WebCredentials("user1@contoso.com", "password");
service.AutodiscoverUrl("user1@contoso.com");
将尝试从电子邮件地址自动发现交换服务的网址。但值得注意的是,除非您附加回调方法以验证Exchange默认使用的自签名证书,否则对服务的调用将失败。更多信息here
有大量有关如何连接到交换服务,发送电子邮件,创建会议和日历请求的信息。我还没有亲自测试上述所有内容,但可能会给你一个不错的开始。