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("[email protected]"); // 这个是发件然的邮箱地址,完整的([email protected]).

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

            message.SendAndSaveCopy();// 发送
        }
时间: 10-14

C# 通过Exchange server 发送邮件的相关文章

Exchange Server 2013系列二:服务器角色

杜飞 在上一篇文章中,我们提到现在硬件性能的增加以及成本的下降,硬件已经不再成为软件应用的约束因素,特别是CPU,其 计算能力的成本显著降低.Exchange 2013 的主要设计目标是简化缩放.提高硬件利用率和实现故障隔离.Exchange 2013一开始将服务器角色的数目减少到了两个:客户端访问服务器角色和邮箱服务器角色,当然,升级到SP1之后也包含边缘服务器角色或者是边界网络中安装 Exchange 2007 或 Exchange 2010 边缘传输服务器角色.如下图所示: 客户端访问服务

Exchange Server 运维管理01:Exchange中Active Directory 有什么用?

近期,需要给客户进行一次Exchange Server 的运维普及培训,在前期博文的基础上,准备再梳理一下运维管理的思路,发几篇和运维管理相关的博文.本文,就介绍一下Exchange Server 2010中的Active Directory有什么用? 很多朋友都知道,安装Exchange 肯定需要在域环境里,活动目录很重要,但到底起到了哪些作用?我们来看一下.针对Exchange Server来说,活动目录主要起到两大作用:一是 Exchange Server 使用 Active Direct

Exchange Server 2013 公网发布疑难解答

Microsoft Exchange Server 2013的公网发布文章在网上有很多,所以这也是我迟迟没有发布公网发布相关博文的原因.但是在最近身边有很多同学在实现Exchange Server 2013 公网发布时有很多的困惑,由此今天整理了一些常见的问题跟大家分享,希望可以帮到同学们. 问题一:实现Exchange Server 2013公网发布需要什么前提条件? 在本地已经部署好AD和Exchange服务器,并且保证服务器可以连接Internet: 公网域名:虽然有很多域名提供商支持免费

Install Exchange Server 2013 on Windows Server 2008

OS 要求 Exchange Server 2013可以部署在Windows Server 2012的平台也可以部署在Windows Server 2008 R2的平台.如果部署在Windows Server 2008 R2平台要求操作系统版本为Windows Server 2008 R2 SP1的版本? 安装服务器角色 : PowerShell中执行如下命令 , 打开Windows PowerShell 运行如下命令来加载服务器管理器模块 ? Import-Module ServerMana

查询出Exchange Server的通讯组,并将通讯组成员输出到本地的文本文件中!

最近客户有一个需求,希望查询所有通讯组的成员,这个使用PS 来做的话会比较简单,怎么做?代码如下: 此POWERSHELL 在exchange 2010 执行通过! param($temppath="c:\log" #定义日志输出路径) if(!(Test-Path $temppath)) #判断日志路径是否存在,如果不存在则建立目录{New-Item -Path $temppath #建立日志路径} $groupNum=get-distributiongroup #将所有通讯组输出到

易宝典文章——怎样管理Exchange Server 2013动态通讯组

前面所述的通讯组和安全组有一个共同的特征就是其成员的加入是静态的.比如一个用户邮箱账户被加入了某个通讯组或安全组,那么不管其对象属性如何变化,其始终属于该组成员.另外,就是如果一个用户要想加入某个通讯组或安全组必须要通过特定的加入操作(无论是管理员添加,还是用户自助申请). 能否有一种可能,即随着用户属性的变化,如其所在的部门或者联系地址等发生了变化,而自动的加入或更改其所属的组呢?当然,Exchange Server 2013能够非常好的满足这个要求,可以通过"动态通讯组"这一功能来

Exchange Server 2007的即将生命周期,您的计划是?

多数人做微软技术,Exchange Server 几乎所有 Microsoft 产品,都具有产品支持生命周期,原厂提供的新增功能. 错误修复.安全修补程序等.产品生命周期通常持续时间 10 年,超过期限此生命周期的末尾称为产品淘汰. 微软官方也正式发布 Exchange Server 2007 在今年 4月11日 ,将达到其支持生命周期结束,对我们客户来说,可能有是一件和头疼事情,又需要花多时间规划升级部署,在保证自己用户正常使用情况下,能使自己邮件系统可以平滑顺利过渡到Exchange 较新版

Exchange Server 2013 部署

服务器环境 先决条件 https://technet.microsoft.com/zh-cn/library/aa996719(v=exchg.150).aspx 安装服务器角色功能 Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, Web-Mgmt-Console, WAS-Process-

关于Exchange Server 2010 启用邮箱时MMC控制台崩溃问题处理

最近有小伙伴咨询问题,关于对已有的AD帐号启用邮箱功能时,EMC控制台崩溃,并提示如下界面显示,反复操作都是无法创建,一直崩溃,那么我们先来看看这个EMC控制台引出的MMC控制台报错.当然这时会有一个疑问为什么EMC崩溃时会显示的是MMC控制台呢?这个好理解,因为EMC其实也是建立在MMC基础上的哦. OK,我们现在来重现一下这个报错场景,跟我来:     首先,创建一个用于批量创建帐号的CSV文件,格式内容如下: 接下来,我们执行PowerShell,运行创建帐号脚本: 命令执行后,没有报错,