C# 连接 Exchange 发送邮件
C#连接Exchange 发送邮件代码如下
/// <summary>
/// exchange群发邮件
/// </summary>
/// <param name="credentialUserName">exchange用户名 [example: test]</param>
/// <param name="credentialUserPwd">exchange用户密码</param>
/// <param name="fromEmail">发送人地址 [example: test@allbring.com]</param>
/// <param name="recipientEmail">收件人地址</param>
/// <param name="domainName">邮件域名 [example: mail.allbring.com]</param>
/// <param name="subjectName">邮件主题</param>
/// <param name="bodyVal">邮件内容</param>
/// <param name="isHtml">是否为html</param>
/// <param name="fileArray">发送上传的路径</param>
/// <returns></returns>
/// 开发人员:ZJ
public static bool SendExchangeEmails(string credentialUserName, string credentialUserPwd, string fromEmail, List<string> recipientEmail, string domainName, string subjectName, string bodyVal, bool isHtml, string[] fileArray)
{
try
{
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(fromEmail);
foreach (string item in recipientEmail)
{
message.To.Add(item);
}
message.From = fromAddress;
message.Subject = subjectName;
message.Body = bodyVal;
message.IsBodyHtml = isHtml;
if (fileArray != null)
{
for (int i = 0; i < fileArray.Length; i++)
{
//为邮件创建文件附件
Attachment attr = new Attachment(fileArray[i], MediaTypeNames.Application.Octet);
//添加邮件时间戳信息
ContentDisposition conDispositon = attr.ContentDisposition;
conDispositon.CreationDate = System.IO.File.GetCreationTime(fileArray[i]);//文件的创建日期
conDispositon.ModificationDate = System.IO.File.GetLastWriteTime(fileArray[i]);//文件的修改日期
conDispositon.ReadDate = System.IO.File.GetLastAccessTime(fileArray[i]);//文件的读取日期
//给邮件添加附件
message.Attachments.Add(attr);
}
} SmtpClient smtpClient = new SmtpClient();
smtpClient.Timeout = 50000;
smtpClient.Host = domainName;
smtpClient.Port = 25;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential(credentialUserName, credentialUserPwd);
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Send(message);
smtpClient.Dispose();
return true;
}
catch (Exception)
{
return false;
}
}
如果exchange服务器只做了证书,在发送邮件的机器上也要安装证书邮件才能发送出去。
参考地址:https://social.technet.microsoft.com/Forums/en-US/d37c7e8a-6d42-498a-bad4-5eb0ab7e9d40/connecting-to-exchange-server-using-c-to-send-an-email?forum=exchangesvrdevelopment
http://www.systemnetmail.com/faq/2.4.aspx
C# 连接 Exchange 发送邮件的更多相关文章
- 启用MFA的office 365 账号如何连接Exchange online
第一篇随手笔记,从简单开始... 如何使用Exchange Online PowerShell呢? 以Windows操作系统为例,如Windows10:首先需要安装Exchange Online Po ...
- 已使用 163 邮箱测试通过,且支持 SSL 连接。 发送邮件
示例:Jack 发送一封邮件给 Rose. public class SendMail { public static void main(String[] args) { b ...
- outlook 2003配置连接exchange server 2010报错——无法完成此操作。 与 Microsoft Exchange Server 的连接不可用。 Outlook 必须联机或连接才可完成该操作
最近安装了一台Exchange 2013邮件服务器,但在客户端Outlook 2013手动配置邮箱时却发现了如下错误: 这里说一个简单的解决办法,实际上第一次启动Outlook时可以自动发现,只需 ...
- 通过TCPView工具查看foxmail用exchange方式连接exchange时用什么端口
TCPView下载地址 https://docs.microsoft.com/zh-cn/sysinternals/downloads/tcpview
- python 使用exchange发送邮件(三)
FYI: https://blog.csdn.net/LeoForBest/article/details/79429955
- android使用微软EWS发送邮件
通常我们在android使用javamail发送邮件,可是很多时候我们需要连接Exchange服务(很多公司内部邮件服务器采用,并且未开通smtp服务)来发送邮件,这时候我们就要用到微软的 ews-j ...
- Outlook中在Exchange服务器无法保存邮件副本
最近帮同事设置Outlook2007,结果她直接登录公司网页Exchange,发现存在Exchange上的邮件副本全没了,原以为是Outlook邮箱账号设置里”保存服务器项副本“没打勾,后来才发现账号 ...
- SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片
在“SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片”文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰 ...
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
一前言 本来使用qq邮箱发送邮件,然后借助sendEmail来发送邮件告警,但是有每天的200封限制,很是不爽,于是想到来自己搭建邮件服务器来解决这个问题,关于使用sendEmail来借助qq邮箱来发 ...
随机推荐
- Luogu 2827 [NOIP2016] 蚯蚓
原来真的是按题意模拟啊,还以为有高能的算法可以直接算每个$t$的值. 考虑到先切的蚯蚓一定比后切的蚯蚓长,于是可以弄三个队列分别存放原来的序列和两个切开后的序列,每次取出三个队头的最大值进行扩展. 考 ...
- Clos Network
1952年,Charles Clos 设计出了一种多级的交换架构,用多级的小型交换机阵列来构建一张大的无阻塞的网络.在此之前,要实现“无阻塞的架构”,只能采用NxN的Cross-bar方式. 而Clo ...
- js教程--从入门到精通 第一篇 js的前世今生以及js中基本数据类型和引入方式
1.Javascript前世今生 1.1.什么是Javascript Javascript运行于Javascript [解释器/引擎]中的解释性脚本语言 Javascript ...
- Jmeter-BeanShell的使用介绍
最近学习使用了jmeter来对接口进行测试.使用jmter进行接口测试,有时候需要编写一些BeanShell脚本语言,或者利用BeanShell调用自己的工具类,来完成jmeter基本功能中无法实现的 ...
- enum枚举型
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- 以证书的方式登录ssh
常常要登录多台Linux服务器,过去在Windows下使用SecureCRT,比较省心,配置还可以放到云盘,实时同步.现在改用MAC貌似就没有那么好用的东西了,每次ssh命令登录都需要输入密码,很烦. ...
- ubuntu - 14.04,安装VirtualBox 5.0(虚拟机软件)!
VirtualBox是一款免费.开源的虚拟机软件,可以运行在多种操作系统上,真的是一款值得我们使用的虚拟机软件! 官方网址:https://www.virtualbox.org/ ubuntu14.0 ...
- SP8791 DYNALCA - Dynamic LCA
\(\color{#0066ff}{ 题目描述 }\) 有一个森林最初由 n (\(1 \le n \le 100000\))n(\(1\leq n\leq 100000\)) 个互不相连的点构成 你 ...
- 最小生成树算法 prim kruskal两种算法实现 HDU-1863 畅通工程
最小生成树 通俗解释:一个连通图,可将这个连通图删减任意条边,仍然保持连通图的状态并且所有边权值加起来的总和使其达到最小.这就是最小生成树 可以参考下图,便于理解 原来的图: 最小生成树(蓝色线): ...
- kuangbin专题七 HDU3974 Assign the task (dfs时间戳建树)
There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...