C#实现发送邮件的三种方法

2019-12-26 11:46:17于海丽
易采站长站为您分析C#实现发送邮件的三种方法,实例讲述了Localhost,SMTP与SSL-SMTP三种实现方法,对于C#项目开发有不错的借鉴价值,需要的朋友可以参考下    

本文实例讲述了C#实现发送邮件的三种方法。。具体方法分析如下:

一、问题:

最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数据发送一封E-mail,因此我也就找来相关资料,写了一个Demo分享给大家,大家共同学习学习。

二、实现代码:

通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送:
1.通过Localhost;
2.通过普通SMTP;
3.通过SSL的SMTP;
下面一个一个来说:

复制代码 public void SendMailLocalhost()  
{  
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();  
msg.To.Add("a@a.com");  
msg.To.Add("b@b.com");  
/* msg.To.Add("b@b.com");  
* msg.To.Add("b@b.com");  
* msg.To.Add("b@b.com");可以发送给多人  
*/  
msg.CC.Add(c@c.com);  
/*  
* msg.CC.Add("c@c.com");  
* msg.CC.Add("c@c.com");可以抄送给多人  
*/  
msg.From = new MailAddress("a@a.com", "AlphaWu", System.Text.Encoding.UTF8);  
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/  
msg.Subject = "这是测试邮件";//邮件标题  
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码  
msg.Body = "邮件内容";//邮件内容  
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码  
msg.IsBodyHtml = false;//是否是HTML邮件  
msg.Priority = MailPriority.High;//邮件优先级 
  
SmtpClient client = new SmtpClient();  
client.Host = "localhost";  
object userState = msg;  
try  
{  
client.SendAsync(msg, userState);  
//简单一点儿可以client.Send(msg);  
MessageBox.Show("发送成功");  
}  
catch (System.Net.Mail.SmtpException ex)  
{