使用C#模拟Outlook发送邮件,代码编译报错

Posted 天琊蓝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用C#模拟Outlook发送邮件,代码编译报错相关的知识,希望对你有一定的参考价值。

添加OutLook API

1 using OutLook = Microsoft.Office.Interop.Outlook;

发送邮件方法

 1 public void SendEmail()
 2 {
 3     OutLook.Application app = new OutLook.Application();
 4     OutLook.NameSpace ns = app.GetNamespace("mapi");
 5     ns.Logon("ServerName\\UserName", "Password", false, true);
 6     OutLook.MailItem message = (OutLook.MailItem)app.CreateItem(OutLook.OlItemType.olMailItem);
 7     message.Subject = "subject";
 8     message.To = "account@XXX.com";
 9     message.Body = "Hello World!";
10     message.Display(true);
11     message.Send();
12     ns.Logoff();
13 }

编译报错如下:

方法“Microsoft.Office.Interop.Outlook._MailItem.Send()”和非方法“Microsoft.Office.Interop.Outlook.ItemEvents_10_Event.Send”之间存在二义性。将使用方法组。

将上述代码片段中的第6行修改成如下:

1 OutLook._MailItem message = (OutLook.MailItem)app.CreateItem(OutLook.OlItemType.olMailItem);

问题解决!

以上是关于使用C#模拟Outlook发送邮件,代码编译报错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Outlook 2010 和 2013 C# 从 winform 实现发送邮件

如何在 C# 中为电子邮件设置 Outlook 扩展属性?

Outlook 发送邮件 报错:未知错误,0x80040201

通过 C# 通过 Outlook 2010 发送电子邮件

如果 Outlook 关闭,则从 C# OOM 发送的电子邮件将保留在发件箱中,直到下一次 Outlook 启动

C# 如何从 Outlook 的共享邮箱发送邮件并将其保存在已发送文件夹中