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邮箱指定邮箱用户名和密码发送邮件的更多相关文章

  1. 十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件

    十..NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件 1.添加Microsoft.Office.Interop.Outlook引用 2.封装发送邮件方法 using System; us ...

  2. 用指定的用户名和密码无法登录到该ftp服务器

    今天在win2008 R2 服务器上默认部署FTP站点时遇到了两个小问题,在网上找了好久资料后发现还是解决不了问题,最终找到问题的原因,在此共享给大家 1.Windows无法访问此文件夹.请确保输入的 ...

  3. [Jenkins Git] 在Jenkins上拉代码总是失败,跑去本地看,提示输入用户名和密码,但是Jenkins上已经配置了正确的用户名和密码

    git config --global credential.helper manager

  4. 使用cURL和用户名和密码?

    问题描述 我想访问一个需要用户名/密码的URL.我想尝试用 curl 来访问它.现在我正在做一些事情: curl http://api.somesite.com/test/blah?something ...

  5. 清除git中缓存的凭证(用户名及密码)

    今天刚接触Git,还有Gitstack,然后在克隆Gitstack服务器上的仓库时出现了一直用户身份识别失败问题,找了一些大佬的文章才知道原因在于密码输入错误过多.那么如何重新输入呢? 需要清空本地的 ...

  6. 使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)

    之前,我写了使用cmd查看电脑连接过的wifi密码(二)和使用cmd查看电脑连接过的wifi密码(一)但其中的功能不完善,在本次的更新中新增了更多的功能,其实2018/10/24 就更新完成了,一直拖 ...

  7. 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活

    javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包  mail.jar 和 activation.jar java mail中主要类:javax.mail. ...

  8. outlook 使用临时邮箱 使用旧数据

    控制面板-->邮件32位 显示配置文件 删除再添加 具体可参考 https://blog.csdn.net/liuyukuan/article/details/80043840 偷懒,图片从网上 ...

  9. html实现邮箱发送邮件_js发送邮件至指定邮箱功能

    在前端开发中,JavaScript并没有提供直接操作Email邮箱的功能方法,但是遇到这样的需求,我们应该如何实现js发送邮件至指定邮箱功能呢?下面列举能够在通过前端实现邮件发送的几种方式: 方式一: ...

随机推荐

  1. Vue介绍以及模板语法-插值

    1.Vue的介绍 Vue是一套用于构建用户界面的渐进式框架. 注意:Vue是一个框架,相对于jq库来说,是由本质的区别的:https://cn.vuejs.org/ Vue不支持IE8及一下版本,因为 ...

  2. MySQL学习——操作视图

    MySQL学习——操作视图 摘要:本文主要学习了使用DDL语句操作视图的方法. 了解视图 是什么 视图是从一个.多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行. 特点 视图不是数据 ...

  3. LinuxShell脚本——选择结构

    LinuxShell脚本——选择结构 摘要:本文主要学习了Shell脚本中的选择结构. if-else语句 基本语法 最简单的用法就是只使用if语句,它的语法格式为: if 条件 then 命令 fi ...

  4. charles突然不能抓取PC请求解决办法

    我在使用charles的时候,突然一天不能抓取PC请求了,原来是我本地开启了手动代理设置,且手动代理的端口号和charles的端口号不一致导致.

  5. 干货:Wireshark使用技巧-显示规则

    - 显示规则使用 在Wireshark界面对已经抓取的报文在界面的显示进行控制的规则,称为显示规则,显示规则只是让一部分不符合规则的报文不被显示,但未被丢弃,这些报文仍然存在在Wireshark的系统 ...

  6. -force_load (加载静态库崩溃)

    -force_load   Crash Log: Last Exception Backtrace: 0   CoreFoundation                 0x2f087f06 __e ...

  7. gitlab设置项目组成员权限

    你敢相信这是个码农? setting菜单的“Members”功能页: 该页面展示了当前Project的成员列表,以及每个成员对应的权限角色,Owner/Master/Developer 注意到该页面顶 ...

  8. scrapy简单使用方法

    scrapy简单使用方法 1.创建项目:scrapy startproject 项目名例如:scrapy startproject baike windows下,cmd进入项目路径例如d:\pytho ...

  9. 联邦学习(Federated Learning)

    联邦学习简介        联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...

  10. 源码编译Kubeadm二进制文件

    kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验k ...