资讯专栏INFORMATION COLUMN

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

songjz / 2164人阅读

摘要:添加引用封装发送邮件方法发送邮件帮助类邮箱用户名邮箱密码邮件服务器设置为允许安全连接本地客户端发送邮件设置为不允许允许安全连接本地客户端发送邮件发送收件人地址主题内容发件人名称发送是否成功邮件对象客户端对象加入邮件发送客户端邮件服

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


namespace ServiceMe.Apps.Business.Common.Unity
{
    /// 
    /// 发送邮件帮助类
    /// 
    public class MailHelper
    {
        /// 
        ///  邮箱用户名
        /// 
        private static readonly string mailUserName = ConfigurationManager.AppSettings["MailUserName"];
        /// 
        ///  邮箱密码
        /// 
        private static readonly string mailUserPassword = ConfigurationManager.AppSettings["MailUserPassword"];
        /// 
        /// 邮件服务器
        /// 
        private static readonly string emailServer= ConfigurationManager.AppSettings["EmailServer"];
        /// 
        /// 设置为true允许安全连接本地客户端发送邮件 ,  设置为false不允许允许安全连接本地客户端发送邮件 
        /// 
        private static readonly string enableSsl = ConfigurationManager.AppSettings["EnableSsl"];
     
        /// 
        /// 发送EMAIL
        /// 
        /// 收件人地址
        /// 主题
        /// 内容
        /// 发件人名称
        /// 发送是否成功
        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添加配置文件

    
    
    
    
    
    
    
    
 
4、调用示例
MailHelper.SendMail("xxxx@qq.com", "测试邮件", "请注意,这是一封.NET自动使用OutLook发送的测试邮件!");
5、发送结果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110539.html

相关文章

  • PHP回顾之发送邮件

    摘要:随着云服务器的盛行,几乎无法以指向本机的域名向外发送邮件,除了在本机内发送提醒邮件,用处已然不大。发送效率低非面向对象的调用方式,配置麻烦以及云服务器厂商的封锁,是使用函数的最大阻碍。 转载请注明文章出处: https://tlanyan.me/php-review... PHP回顾系列目录 PHP基础 web请求 cookie web响应 session 数据库操作 加解密 Co...

    smallStone 评论0 收藏0
  • HTML 邮件兼容问题与解决方案

    摘要:因为微软一向地特立独行,使得成为了最难啃的骨头。这就意味着邮件中几乎只有这几个元素,尽量避免使用或是其他标签。 HTML 邮件内容虽然也是 HTML,但是和我们在网页上使用的 HTML 不同,因为安全原因,各大邮箱服务商及邮件客户端都会对邮件内容进行一定程度上的处理,不会按照你写的原本 HTML 展示。 showImg(https://segmentfault.com/img/bVLl...

    Cheriselalala 评论0 收藏0
  • HTML 邮件兼容问题与解决方案

    摘要:因为微软一向地特立独行,使得成为了最难啃的骨头。这就意味着邮件中几乎只有这几个元素,尽量避免使用或是其他标签。 HTML 邮件内容虽然也是 HTML,但是和我们在网页上使用的 HTML 不同,因为安全原因,各大邮箱服务商及邮件客户端都会对邮件内容进行一定程度上的处理,不会按照你写的原本 HTML 展示。 showImg(https://segmentfault.com/img/bVLl...

    RdouTyping 评论0 收藏0
  • 利用Python自动发送邮件

    摘要:自动发送邮件我们把报表做出来以后一般都是需要发给别人查看,对于一些每天需要发的报表或者是需要一次发送多份的报表,这个时候可以考虑借助来自动发送邮件。一份邮件的组成下图是中发送一份邮件的界面,主要包含发件人收件人抄送人主题正文附件这几部分。 ...

    leo108 评论0 收藏0
  • python发送邮件

    摘要:参数分别表示主机和端口。注意也可以在参数中指定端口号如,这样就没必要给出参数。当需要发送附件的时候使用的就是这个类的一个子类。主要用来发送图片普通文本邮件文本对象,其中是邮件内容,邮件类型,可以是普通文本邮件,邮件编码,可以是等等。 python发送邮件 准备 python中发送邮件主要用的是smtplib和email两个模块,下面主要对这两个模块进行讲解 在讲解之前需要准备至少两个...

    mengera88 评论0 收藏0

发表评论

0条评论

songjz

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<