【问题标题】:C# send email using Outlook dllsC# 使用 Outlook dll 发送电子邮件
【发布时间】:2013-04-03 19:14:05
【问题描述】:

在我的应用程序中,我需要发送电子邮件。我无法使用 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 并使用它们发送电子邮件?

提前致谢

【问题讨论】:

  • 顺便说一句,这就是匈牙利符号不再流行的原因;由于一切都是对象,所有变量最终都以 o. 为前缀
  • 这些 os 被改成 Outlook 的 Os :)
  • 如果您尝试使用 Outlook DLL 发送电子邮件,我假设某处混合了 Exchange 服务器,您可以不使用 Exchange Web 服务来执行任务吗?
  • 这也可能是一个选项,但我找不到任何示例或说明如何以这种方式使用它的东西。你能提供任何例子吗?

标签: c# email outlook-2010


【解决方案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");

这将尝试从电子邮件地址自动发现交换服务的 url。值得注意的是,除非您附加回调方法来验证 Exchange 默认使用的自签名证书,否则对该服务的调用将失败。更多信息here

关于如何连接交换服务、发送电子邮件、创建会议和日历请求的信息非常丰富。我还没有亲自测试以上所有内容,但可能会给你一个不错的开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2011-09-28
    相关资源
    最近更新 更多