zoukankan      html  css  js  c++  java
  • .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", "3");
                    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", "1");
    
                    //邮件发送客户端
                    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},
    堆栈信息:{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、发送结果

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/vuenote/p/11177235.html
Copyright © 2011-2022 走看看