当前位置 : 主页 > 网络编程 > c#编程 >

C# SMTP发送邮件的示例

来源:互联网 收集:自由互联 发布时间:2021-05-10
在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。 短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用

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

短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用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; }

  }

以上就是C# SMTP发送邮件的示例的详细内容,更多关于C# SMTP发送邮件的资料请关注自由互联其它相关文章!

网友评论