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; }

}

以上是 C# SMTP发送邮件的示例 的全部内容, 来源链接: utcz.com/z/357505.html

回到顶部