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

1、添加Microsoft.Office.Interop.Outlook引用

2、封装发送邮件方法

  1. using System;
  2. using System.Configuration;
  3. using System.Net.Mail;
  4.  
  5. namespace ServiceMe.Apps.Business.Common.Unity
  6. {
  7. /// <summary>
  8. /// 发送邮件帮助类
  9. /// </summary>
  10. public class MailHelper
  11. {
  12. /// <summary>
  13. /// 邮箱用户名
  14. /// </summary>
  15. private static readonly string mailUserName = ConfigurationManager.AppSettings["MailUserName"];
  16. /// <summary>
  17. /// 邮箱密码
  18. /// </summary>
  19. private static readonly string mailUserPassword = ConfigurationManager.AppSettings["MailUserPassword"];
  20. /// <summary>
  21. /// 邮件服务器
  22. /// </summary>
  23. private static readonly string emailServer= ConfigurationManager.AppSettings["EmailServer"];
  24. /// <summary>
  25. /// 设置为true允许安全连接本地客户端发送邮件 , 设置为false不允许允许安全连接本地客户端发送邮件
  26. /// </summary>
  27. private static readonly string enableSsl = ConfigurationManager.AppSettings["EnableSsl"];
  28.  
  29. /// <summary>
  30. /// 发送EMAIL
  31. /// </summary>
  32. /// <param name="sRecipientEmail">收件人地址</param>
  33. /// <param name="sSubject">主题</param>
  34. /// <param name="sMessage">内容</param>
  35. /// <param name="sSendName">发件人名称</param>
  36. /// <returns>发送是否成功</returns>
  37. public static bool SendMail(string sRecipientEmail, string sSubject, string sMessage)
  38. {
  39. try
  40. {
  41. //邮件对象
  42. MailMessage emailMessage;
  43.  
  44. //smtp客户端对象
  45. SmtpClient client;
  46.  
  47. string sSenderEmail = mailUserName;
  48. emailMessage = new MailMessage(sSenderEmail, sRecipientEmail, sSubject, sMessage);
  49. emailMessage.IsBodyHtml = true;
  50. emailMessage.SubjectEncoding = System.Text.Encoding.Default;
  51. emailMessage.BodyEncoding = System.Text.Encoding.Default;
  52. //加入
  53. emailMessage.Headers.Add("X-Priority", "");
  54. emailMessage.Headers.Add("X-MSMail-Priority", "Normal");
  55. emailMessage.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
  56. emailMessage.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
  57. emailMessage.Headers.Add("ReturnReceipt", "");
  58.  
  59. //邮件发送客户端
  60. client = new SmtpClient();
  61. //邮件服务器及帐户信息
  62. client.Host = emailServer;
  63. //client.Host = "smtp.163.com";
  64. //client.Port = 465;
  65. //client.EnableSsl = true;
  66. System.Net.NetworkCredential Credential = new System.Net.NetworkCredential();
  67.  
  68. //web.config中读取邮件服务器用户名和密码信息
  69. Credential.UserName = mailUserName;
  70. Credential.Password = mailUserPassword;
  71. client.Credentials = Credential;
  72. client.EnableSsl =Convert.ToBoolean(enableSsl);
  73. //发送邮件
  74. client.Send(emailMessage);
  75. }
  76. catch(Exception ex)
  77. {
  78. //错误处理待定
  79. Log4NetHelper.WriteError($"发送邮件错误信息:{ex.Message},\r\n堆栈信息:{ex.StackTrace}");
  80. return false;
  81. }
  82. return true;
  83. }
  84. }
  85. }

3、config添加配置文件

  1. <appSettings>
  2. <!--跨域配置-->
  3. <add key="cors_allowOrigins" value="*" />
  4. <add key="cors_allowHeaders" value="*" />
  5. <add key="cors_allowMethods" value="*" />
  6. <add key="EmailServer" value="smtp.office365.com"/>
  7. <add key="EnableSsl" value="true"/>
  8. <add key="MailUserName" value="xiaogang.tang@medalsoft.com" />
  9. <add key="MailUserPassword" value="HYqdp776" />
  10. </appSettings>

4、调用示例

  1. MailHelper.SendMail("xxxx@qq.com", "测试邮件", "请注意,这是一封.NET自动使用OutLook发送的测试邮件!");

十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件的更多相关文章

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

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

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

    1.添加Microsoft.Office.Interop.Outlook引用 2.封装发送邮件方法 using System; using System.Configuration; using Sy ...

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

    git config --global credential.helper manager

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

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

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

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

  6. 屏幕监视专家 v1.0 定时录制屏幕动画发送到指定邮箱

    ScreenWatcher v1.0功能:定时录制屏幕动画发送到指定邮箱,录制的动画为gif,可指定录制多长时间.指定几点直接开始录制,完全后台运行.作者:Bluefish 下载链接: http:// ...

  7. PHP自学4——通过mail函数将feedback界面用户填写表单信息发送至指定邮箱

    这一讲的内容依旧简单(谁叫PO主水平菜,依旧是个弱鸡ORZ),通过PHP的内置mail函数将一个反馈界面的信息发送到指定邮箱.在Windows平台不能直接需要使用该函数,需要下载一个sendmail并 ...

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

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

  9. Dynamics 365使用代码发送邮件给指定邮箱地址

    摘要: 微软动态CRM专家罗勇 ,回复303或者20190213可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当然,首先要 ...

随机推荐

  1. jmeter性能工具 之 cookie 管理器 (二)

    上一篇主要介绍了jmeter 的基本使用方法,编写了登陆脚本,这一篇在登陆基础上,进行充值操作. 问:什么时候需要用到cookied 管理器? 答:需要登陆信息时,如果充值,提现,淘宝的下单,添加到购 ...

  2. 036:DTL常用过滤器(5)

    slice过滤器: 类似于 Python 中的切片操作.示例代码如下: {{ some_list|slice:"2:" }} 以上代码将会给 some_list 从 2 开始做切片 ...

  3. [POJ1934] Trip

    问题描述 Alice and Bob want to go on holiday. Each of them has planned a route, which is a list of citie ...

  4. 【ElicitSearch】启动流程

    一.集群启动流程 1.选举主节点 许多节点启动,集群干的第一件事儿就是选主,之后的的流程由主节点触发. 先确定唯一的.大家公认的主节点:再想办法把最新的及其原数据复制到选举的主节点上. 选主是对Bul ...

  5. ClickOnce是什么?如何使用?

    ClickOnce是一种部署方式,主要解决C/S软件版本更新后,所有客户端都要重新安装的问题. 场景:假如,你的客户有1000个,你的服务端更新后,这1000个客户都要重新安装,难道要员工一个一个的电 ...

  6. Intel CPU编号详解

    一.概述 Intel(英特尔)是当前最主流的台式机.笔记本.服务器CPU厂商.和英特尔类似的还有AMD厂商的CPU. Intel生产的CPU型号繁多,每个型号的CPU都有对应的编号.这个编号有特定意义 ...

  7. [CSP-S模拟测试]:trade(反悔贪心)

    题目传送门(内部题62) 输入格式 第一行有一个整数$n$.第二行有$N$个整数:$a_1\ a_2\ a_3\cdot\cdot\cdot a_n$. 输出格式 一行一个整数表示最大收益. 样例 样 ...

  8. QT5 QTreeView添加右键菜单

    C++ QT5学习--QTreeView控件创建右键菜单 QTreeView是QWidget的子类,我们再改写QTreeView类的时候,注意的是继承关系. 1.TreeView.h class Tr ...

  9. MySql使用mysqldump 导入与导出方法总结

    导出数据库数据:首先打开cmd进入MySQL的bin文件夹下 1.导出education数据库里面的users表的表数据和表结构(下面以users表为例) mysqldump -u[用户名] -h[i ...

  10. P1541乌龟棋

    传送 这题咋做? 当然是爆搜了. 但是蒟蒻不会爆搜(TLE,WA两开花qwq),更不会记忆化搜索,所以我们换个思路. 注意这句话: 这肯定是有用的(洛咕还不会闲圈到给一句毛用都没有的话),那它有什么用 ...