• C#发邮件_EmailHelper


    EmailHelper类

     public class EmailHelper
        {
            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="smtpServer">smtp服务器</param>
            /// <param name="port">端口</param>
            /// <param name="mailFrom">发件人邮箱</param>
            /// <param name="userPassword">密码</param>
            /// <param name="mailTo">收件人</param>
            /// <param name="strcc">抄送人</param>
            /// <param name="strBcc">密送</param>
            /// <param name="mailSubject">邮件主题</param>
            /// <param name="mailContent">内容</param>
            /// <param name="strs">附件</param>
            /// <returns>发送成功返回true否则false</returns>
            public static bool SendEmail(string smtpServer, int port, string mailFrom, string userPassword, string mailTo, string strcc,string strBcc,string mailSubject, string mailContent, string strs)
            {
                try
                {
                    // 设置发送方的邮件信息
                    // 邮件服务设置
                    SmtpClient smtpClient = new SmtpClient();
                    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
                    smtpClient.Host = smtpServer; //指定SMTP服务器
                    smtpClient.Port = port;//端口
                    smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//验证用户名和密码
                    smtpClient.EnableSsl = true; //使用SSL
                    // 发送邮件设置        
                    MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
    
                    mailMessage.Subject = mailSubject;//主题
                    mailMessage.Body = mailContent;//内容
                    mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
                    mailMessage.IsBodyHtml = true;//设置为HTML格式
                    mailMessage.Priority = MailPriority.Normal;//优先级
                    //抄送人
                    if (!string.IsNullOrEmpty(strcc)) 
                        mailMessage.CC.Add(strcc);
                    //密送
                    if (!string.IsNullOrEmpty(strBcc))
                        mailMessage.Bcc.Add(strBcc); 
                    //附件
                    if (!string.IsNullOrEmpty(strs))
                    {
                        List<string> paths = new List<string>();
                        if (strs.Contains(","))
                        {
                            paths = strs.Split(',').ToList();
                        }
                        else
                        {
                            paths.Add(strs);
    
                        }
                        foreach (var path in paths)
                        {
                            mailMessage.Attachments.Add(new Attachment(strs));
                        }
                    }
                    smtpClient.Send(mailMessage); // 发送邮件
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
    

      

    调用发送邮件的方法:

     static void Main(string[] args)
            {
                //获得各种参数,不需要的用空字符串
                string path = Directory.GetCurrentDirectory();
                string file = path + @"Excel.xlsx"; //附件1
                string file2 = path + @"Excel2.xlsx";//附件2
                string smtpServer = "smtp.163.com";//163邮箱的smtp服务器 
                int port = 25;//端口
                string mailFrom = "******@163.com";//发件人邮箱 
                string pwd = "*********";//密码
                string mailTo = "123@163.com,456@qq.com";//收件人邮箱,多个用户用逗号隔开
                string mailCC = "";//抄送人,多个用户用逗号隔开
                string mailBcc = "";//密送
                string mailSubject = "测试邮件";//主题
                string mailContent = "HI,这是我发给你的一个测试邮件";//内容
                string ah = file+","+file2; //附件-文件路径
                if (EmailHelper.SendEmail(smtpServer, port, mailFrom, pwd, mailTo, mailCC, mailBcc, mailSubject, mailContent, ah) == true)
                {
                    Console.WriteLine("发送成功!");
                }
                else
                    Console.WriteLine("发送失败");
               
                Console.ReadKey();
            }

    注意:

    • 确认发件人的邮箱已开通smtp;
    • 对应邮箱的smtp填写正确,例:126邮箱:smtp@126.com
    • 对应的邮箱SendEmail 中是否要使用SSL加密连接
  • 相关阅读:
    amazeUI modal 模态框 关闭属性
    获取radio点击事件
    SQL语句 常用记录
    前端
    deque源码1(deque概述、deque中的控制器)
    算法题:判断正则表达式的.和*的模式匹配
    list源码4(参考STL源码--侯捷):transfer、splice、merge、reverse、sort
    list源码3(参考STL源码--侯捷):push_front、push_back、erase、pop_front、pop_back、clear、remove、unique
    list源码2(参考STL源码--侯捷):constructor、push_back、insert
    风口的猪-中国牛市--小米2016笔试题
  • 原文地址:https://www.cnblogs.com/wei325/p/5039702.html
Copyright © 2020-2023  润新知