• C# SMTP发送邮件


    在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。

    短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信

    息推送也是不错的选择,下面使用C#实现SMTP发送邮件

    /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="M">发件内容</param>
            public static void LocalHostSend(SendMail M)
            {
                try
                {
                    MailMessage myMail = new MailMessage();//发送电子邮件类
                    
                    foreach (string item in M.Addressee)//添加收件人
                    {
                        myMail.To.Add(item);
                    }
                    foreach (string item in M.CC)//添加抄送
                    {
                        myMail.CC.Add(item);
                        
                    }
    
                    myMail.Subject = M.Theme;//邮件主题
                    myMail.SubjectEncoding = M.SubjectEncoding;//邮件标题编码
    
                    myMail.From = new MailAddress(M.From, M.DisplayName, M.SubjectEncoding);//发件信息
    
    
                    myMail.Body = M.Body;//邮件内容
                    myMail.BodyEncoding = M.BodyEncoding;//邮件内容编码
                    myMail.IsBodyHtml = M.IsBodyHtml;//是否是HTML邮件
                    myMail.Priority = M.Priority;//邮件优先级
    
                    SmtpClient smtp = new SmtpClient();//SMTP协议
    
                    smtp.EnableSsl = M.EnableSsl;//是否使用SSL安全加密   使用QQ邮箱必选
                    smtp.UseDefaultCredentials = M.UseDefaultCredentials;
    
                    smtp.Host = M.Host;//主机
    
                    smtp.Credentials = new NetworkCredential(M.From, M.Password);//验证发件人信息
    
                    smtp.Send(myMail);//发送
    
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
                
            }
    public class SendMail
        {
            public string From { get; set; }//发件人地址
            public string Password { get; set; }//密码
            public string []  Addressee { get; set; }//收件人地址
            public string [] CC { get; set; }//抄送
            public string Theme { get; set; }//主题
            public string DisplayName { get; set; }//发件人名称
            public Encoding SubjectEncoding { get; set; }//编码
            public string Body { get; set; }//邮件内容
            public Encoding BodyEncoding { get; set; }//邮件内容编码
            public bool IsBodyHtml { get; set; }//是否HTML邮件
            public MailPriority Priority { get; set; }//邮件优先级
            public bool EnableSsl { get; set; }//是否ssl
            public bool UseDefaultCredentials { get; set; }
            public string Host { get; set; }
    
        }
  • 相关阅读:
    站立会议第七天
    站立会议第六天
    站立会议第五天
    站立会议第四天
    inotify简题
    搭建企业版yum仓
    ssh及ssh-key
    shell变量
    如何下载scp、wget、inotify及如何偷包
    rsync
  • 原文地址:https://www.cnblogs.com/xwcs/p/13508438.html
Copyright © 2020-2023  润新知