十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件
十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件
1、添加Microsoft.Office.Interop.Outlook引用
2、封装发送邮件方法
- using System;
- using System.Configuration;
- using System.Net.Mail;
- namespace ServiceMe.Apps.Business.Common.Unity
- {
- /// <summary>
- /// 发送邮件帮助类
- /// </summary>
- public class MailHelper
- {
- /// <summary>
- /// 邮箱用户名
- /// </summary>
- private static readonly string mailUserName = ConfigurationManager.AppSettings["MailUserName"];
- /// <summary>
- /// 邮箱密码
- /// </summary>
- private static readonly string mailUserPassword = ConfigurationManager.AppSettings["MailUserPassword"];
- /// <summary>
- /// 邮件服务器
- /// </summary>
- private static readonly string emailServer= ConfigurationManager.AppSettings["EmailServer"];
- /// <summary>
- /// 设置为true允许安全连接本地客户端发送邮件 , 设置为false不允许允许安全连接本地客户端发送邮件
- /// </summary>
- private static readonly string enableSsl = ConfigurationManager.AppSettings["EnableSsl"];
- /// <summary>
- /// 发送EMAIL
- /// </summary>
- /// <param name="sRecipientEmail">收件人地址</param>
- /// <param name="sSubject">主题</param>
- /// <param name="sMessage">内容</param>
- /// <param name="sSendName">发件人名称</param>
- /// <returns>发送是否成功</returns>
- public static bool SendMail(string sRecipientEmail, string sSubject, string sMessage)
- {
- try
- {
- //邮件对象
- MailMessage emailMessage;
- //smtp客户端对象
- SmtpClient client;
- string sSenderEmail = mailUserName;
- emailMessage = new MailMessage(sSenderEmail, sRecipientEmail, sSubject, sMessage);
- emailMessage.IsBodyHtml = true;
- emailMessage.SubjectEncoding = System.Text.Encoding.Default;
- emailMessage.BodyEncoding = System.Text.Encoding.Default;
- //加入
- emailMessage.Headers.Add("X-Priority", "");
- emailMessage.Headers.Add("X-MSMail-Priority", "Normal");
- emailMessage.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
- emailMessage.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
- emailMessage.Headers.Add("ReturnReceipt", "");
- //邮件发送客户端
- client = new SmtpClient();
- //邮件服务器及帐户信息
- client.Host = emailServer;
- //client.Host = "smtp.163.com";
- //client.Port = 465;
- //client.EnableSsl = true;
- System.Net.NetworkCredential Credential = new System.Net.NetworkCredential();
- //web.config中读取邮件服务器用户名和密码信息
- Credential.UserName = mailUserName;
- Credential.Password = mailUserPassword;
- client.Credentials = Credential;
- client.EnableSsl =Convert.ToBoolean(enableSsl);
- //发送邮件
- client.Send(emailMessage);
- }
- catch(Exception ex)
- {
- //错误处理待定
- Log4NetHelper.WriteError($"发送邮件错误信息:{ex.Message},\r\n堆栈信息:{ex.StackTrace}");
- return false;
- }
- return true;
- }
- }
- }
3、config添加配置文件
- <appSettings>
- <!--跨域配置-->
- <add key="cors_allowOrigins" value="*" />
- <add key="cors_allowHeaders" value="*" />
- <add key="cors_allowMethods" value="*" />
- <add key="EmailServer" value="smtp.office365.com"/>
- <add key="EnableSsl" value="true"/>
- <add key="MailUserName" value="xiaogang.tang@medalsoft.com" />
- <add key="MailUserPassword" value="HYqdp776" />
- </appSettings>
4、调用示例
- MailHelper.SendMail("xxxx@qq.com", "测试邮件", "请注意,这是一封.NET自动使用OutLook发送的测试邮件!");
十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件的更多相关文章
- 用指定的用户名和密码无法登录到该ftp服务器
今天在win2008 R2 服务器上默认部署FTP站点时遇到了两个小问题,在网上找了好久资料后发现还是解决不了问题,最终找到问题的原因,在此共享给大家 1.Windows无法访问此文件夹.请确保输入的 ...
- .NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件
1.添加Microsoft.Office.Interop.Outlook引用 2.封装发送邮件方法 using System; using System.Configuration; using Sy ...
- [Jenkins Git] 在Jenkins上拉代码总是失败,跑去本地看,提示输入用户名和密码,但是Jenkins上已经配置了正确的用户名和密码
git config --global credential.helper manager
- outlook 使用临时邮箱 使用旧数据
控制面板-->邮件32位 显示配置文件 删除再添加 具体可参考 https://blog.csdn.net/liuyukuan/article/details/80043840 偷懒,图片从网上 ...
- html实现邮箱发送邮件_js发送邮件至指定邮箱功能
在前端开发中,JavaScript并没有提供直接操作Email邮箱的功能方法,但是遇到这样的需求,我们应该如何实现js发送邮件至指定邮箱功能呢?下面列举能够在通过前端实现邮件发送的几种方式: 方式一: ...
- 屏幕监视专家 v1.0 定时录制屏幕动画发送到指定邮箱
ScreenWatcher v1.0功能:定时录制屏幕动画发送到指定邮箱,录制的动画为gif,可指定录制多长时间.指定几点直接开始录制,完全后台运行.作者:Bluefish 下载链接: http:// ...
- PHP自学4——通过mail函数将feedback界面用户填写表单信息发送至指定邮箱
这一讲的内容依旧简单(谁叫PO主水平菜,依旧是个弱鸡ORZ),通过PHP的内置mail函数将一个反馈界面的信息发送到指定邮箱.在Windows平台不能直接需要使用该函数,需要下载一个sendmail并 ...
- 使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)
之前,我写了使用cmd查看电脑连接过的wifi密码(二)和使用cmd查看电脑连接过的wifi密码(一)但其中的功能不完善,在本次的更新中新增了更多的功能,其实2018/10/24 就更新完成了,一直拖 ...
- Dynamics 365使用代码发送邮件给指定邮箱地址
摘要: 微软动态CRM专家罗勇 ,回复303或者20190213可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当然,首先要 ...
随机推荐
- jmeter性能工具 之 cookie 管理器 (二)
上一篇主要介绍了jmeter 的基本使用方法,编写了登陆脚本,这一篇在登陆基础上,进行充值操作. 问:什么时候需要用到cookied 管理器? 答:需要登陆信息时,如果充值,提现,淘宝的下单,添加到购 ...
- 036:DTL常用过滤器(5)
slice过滤器: 类似于 Python 中的切片操作.示例代码如下: {{ some_list|slice:"2:" }} 以上代码将会给 some_list 从 2 开始做切片 ...
- [POJ1934] Trip
问题描述 Alice and Bob want to go on holiday. Each of them has planned a route, which is a list of citie ...
- 【ElicitSearch】启动流程
一.集群启动流程 1.选举主节点 许多节点启动,集群干的第一件事儿就是选主,之后的的流程由主节点触发. 先确定唯一的.大家公认的主节点:再想办法把最新的及其原数据复制到选举的主节点上. 选主是对Bul ...
- ClickOnce是什么?如何使用?
ClickOnce是一种部署方式,主要解决C/S软件版本更新后,所有客户端都要重新安装的问题. 场景:假如,你的客户有1000个,你的服务端更新后,这1000个客户都要重新安装,难道要员工一个一个的电 ...
- Intel CPU编号详解
一.概述 Intel(英特尔)是当前最主流的台式机.笔记本.服务器CPU厂商.和英特尔类似的还有AMD厂商的CPU. Intel生产的CPU型号繁多,每个型号的CPU都有对应的编号.这个编号有特定意义 ...
- [CSP-S模拟测试]:trade(反悔贪心)
题目传送门(内部题62) 输入格式 第一行有一个整数$n$.第二行有$N$个整数:$a_1\ a_2\ a_3\cdot\cdot\cdot a_n$. 输出格式 一行一个整数表示最大收益. 样例 样 ...
- QT5 QTreeView添加右键菜单
C++ QT5学习--QTreeView控件创建右键菜单 QTreeView是QWidget的子类,我们再改写QTreeView类的时候,注意的是继承关系. 1.TreeView.h class Tr ...
- MySql使用mysqldump 导入与导出方法总结
导出数据库数据:首先打开cmd进入MySQL的bin文件夹下 1.导出education数据库里面的users表的表数据和表结构(下面以users表为例) mysqldump -u[用户名] -h[i ...
- P1541乌龟棋
传送 这题咋做? 当然是爆搜了. 但是蒟蒻不会爆搜(TLE,WA两开花qwq),更不会记忆化搜索,所以我们换个思路. 注意这句话: 这肯定是有用的(洛咕还不会闲圈到给一句毛用都没有的话),那它有什么用 ...