.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发送的测试邮件!");
5、发送结果

.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件的更多相关文章
- 十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件
十..NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件 1.添加Microsoft.Office.Interop.Outlook引用 2.封装发送邮件方法 using System; us ...
- 用指定的用户名和密码无法登录到该ftp服务器
今天在win2008 R2 服务器上默认部署FTP站点时遇到了两个小问题,在网上找了好久资料后发现还是解决不了问题,最终找到问题的原因,在此共享给大家 1.Windows无法访问此文件夹.请确保输入的 ...
- [Jenkins Git] 在Jenkins上拉代码总是失败,跑去本地看,提示输入用户名和密码,但是Jenkins上已经配置了正确的用户名和密码
git config --global credential.helper manager
- 使用cURL和用户名和密码?
问题描述 我想访问一个需要用户名/密码的URL.我想尝试用 curl 来访问它.现在我正在做一些事情: curl http://api.somesite.com/test/blah?something ...
- 清除git中缓存的凭证(用户名及密码)
今天刚接触Git,还有Gitstack,然后在克隆Gitstack服务器上的仓库时出现了一直用户身份识别失败问题,找了一些大佬的文章才知道原因在于密码输入错误过多.那么如何重新输入呢? 需要清空本地的 ...
- 使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)
之前,我写了使用cmd查看电脑连接过的wifi密码(二)和使用cmd查看电脑连接过的wifi密码(一)但其中的功能不完善,在本次的更新中新增了更多的功能,其实2018/10/24 就更新完成了,一直拖 ...
- 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活
javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包 mail.jar 和 activation.jar java mail中主要类:javax.mail. ...
- outlook 使用临时邮箱 使用旧数据
控制面板-->邮件32位 显示配置文件 删除再添加 具体可参考 https://blog.csdn.net/liuyukuan/article/details/80043840 偷懒,图片从网上 ...
- html实现邮箱发送邮件_js发送邮件至指定邮箱功能
在前端开发中,JavaScript并没有提供直接操作Email邮箱的功能方法,但是遇到这样的需求,我们应该如何实现js发送邮件至指定邮箱功能呢?下面列举能够在通过前端实现邮件发送的几种方式: 方式一: ...
随机推荐
- python库的tkinter带你进入GUI世界(计算器简单功能)
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 一个处女座的程序猿 PS:如有需要Python学习资料的小伙伴可以加 ...
- 5-网宿CDN客户端推流NGB
网宿NGB调度系统(类似httpdns原理)从服务端分发给客户端推流IP,实现基于APP realip精准调度模式. 参考官网介绍:https://www.wangsu.com/content/det ...
- 数据库-用户管理与pymysql
mysql用户管理 !这是dba的活儿!,但是万一公司没有dba? mysql用户指的是什么? 我们每一次在操作前都需要指定账号和密码,这个账号就是mysql的用户; 为什么要管理? 一个公司不可能只 ...
- git clone和git pull的区别
1.需不需要本地文件夹是仓库 git clone是将整个工程复制下来所以,不需要本地是仓库(没有.git文件夹) git clone git pull需要先初始化本地文件夹文一个仓库 git ...
- Ubuntu 根目录作用
Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/ 用以存储二进制可执行命令文件,/u ...
- 【BZOJ2437】[Noi2011]兔兔与蛋蛋(博弈+二分图)
传送门 题意: 给出一个\(n*m\)的棋盘,上面有若干个黑色棋子,若干个白色棋子,还有一个空格. 每次先手选择一个空格,将它与相邻的某个白色棋子交换:后手则选择一个空格,与相邻的某个黑色棋子交换. ...
- c# 第22节 c#四大方法 静态方法、实例方法、虚方法、重新方法
本节内容: 1:静态方法和实例方法什么 2:虚方法是什么 3:重写方法 4:禁止重写方法 1:静态方法和实例方法是什么 静态方法,一般是类的常用方法,允许在不创建类的实例的情况下,直接调用. 静态方法 ...
- MNIST手写数字识别进阶:多层神经网络及应用(1)
# 一.载入数据 import tensorflow as tf import numpy as np #导入tensorflow提供的读取MNIST的模块 import tensorflow.exa ...
- python的http包
http包简介 http包提供了 HTTP协议的一些功能,主要模块有: http.client --- 底层的 HTTP 协议的一些功能,可以为 urllib.request 模块所用 http. ...
- ubuntu下的mv命令
移动文件 代码: mv file1 dir1 #因为dir1目录是存在的,可以不加 / 直接放入 mv file1 dir1/ #把temp文件移动到myfiles目录中 移动目录 代码: mv di ...