在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。
短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用C#实现SMTP发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
复制代码 /// <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); } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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发送邮件的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/xwcs/p/13508438.html