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 2737 [USACO4.1]麦香牛块Beef McNuggets
NOIP2017 D1T1 的结论,两个数$a, b$所不能表示出的最大的数为$a * b - a - b$. 听了好几遍证明我还是不会 注意到本题中给出的数都非常小,所以最大不能表示出的数$\leq ...
- python3-字典中包含字典
# Auther: Aaron Fan #定义字典及内容av_catalog = { "欧美":{ "www.youporn.com": ["很多免费 ...
- Mysql--连接查询
内连接查询 意义:找到表和表之间的关系或者是桥梁.连接查询是查询两个或者两个以上的表时使用的. JOIN|CROSS JOIN| INNER JOIN 通过ON 连接条件(这三个方式都行)一般 ...
- 【Android4高级编程笔记】深入探讨Android Activity
创建Activity 要创建一个新的Activity,需要对Activity类进行扩展,在新类定义用户界面并实现新的功能. 视图是用来显示数据和提高用户交互的Ui控件.Android提供了多个布局类, ...
- 解决Spring MVC 对AOP不起作用的问题
用的是 SSM3的框架 Spring MVC 3.1 + Spring 3.1 + Mybatis3.1 第一种情况: Spring MVC 和 Spring 整合的时候,SpringMVC的spri ...
- javascript jquery插入元素后事件会被注销
js jquery插入元素后事件会被注销 document.body.innerHTML += <div id="dd">test</div> //这 ...
- 加快 hive 查询的 5 种方法
1. 使用 Tez set hive.execution.engine=tez; 2. 使用 ORCFILE.当有多个表 join 时,使用 ORCFile 进行存储,会显著地提高速度. CREATE ...
- IDEA mybatis-generator 逆向工程
1.在maven工程中的resource中创建generatorConfig.xml 2.配置generatorConfig.xml <?xml version="1.0" ...
- Quadratic Residues POJ - 1808 二次剩余定理
\(\color{#0066ff}{题目链接 }\) link \(\color{#0066ff}{ 题解 }\) 结论题 \((\frac{a}{p})=a^{\frac{p-1}{2}}\mod ...
- CF1101E Polycarp's New Job
#include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> #i ...