C# 通过Exchange server 发送邮件

微软的Exchange邮件服务不同与一般的邮件server,他不能简单使用SmtpClient等组件实现邮件收发的功能。
那么怎么通过Exchange服务发送邮件呢?
微软的Exchange服务都有webservice接口, 通过其提供的webservice发送邮件也是最简单的方法。
验证Exchange服务的webservice是否正常:https://xx.xxxxx.com/ews/exchange.asmx, 能打开就是正常。可能须要登录。
可是这个webservice不同于普通的webservice,不能简单的加入web引用来调用。
首先我们须要下载一个Microsoft.Exchange.WebServices.dll,然后引用到我们的项目里边,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=28952,是个msi,安装好之后就有那个dll,然后就能够開始了。。


以下是一个发送邮件的样例:

using Microsoft.Exchange.WebServices;
using Microsoft.Exchange.WebServices.Data;


        private void SendEmail()
        {
            ExchangeService service = new ExchangeService();


            // 获取身份验证, 能够尝试你的邮箱名, 域用户ID等
            // user: 登录username,邮箱登录ID或者域登录ID
            // password:你懂的
            // domain:域,不是域名,域用户的的话就得填这个,选填
            service.Credentials = new NetworkCredential("user", "password", "domain");
            service.TraceEnabled = true;
            service.AutodiscoverUrl("zhangsan@yuming.com"); // 这个是发件然的邮箱地址,完整的(xx@dd.com).


            EmailMessage message = new EmailMessage(service);
            message.Subject = "Email的主题"; 
            message.Body = "Email的内容";
            message.ToRecipients.Add("收件人的邮件地址");
            message.Save();


            message.SendAndSaveCopy();// 发送
        }


posted on 2014-10-14 19:58  gcczhongduan  阅读(2755)  评论(0编辑  收藏  举报