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

时间:2025-02-06 21:04:11

这篇文章主要介绍了C#实现发送邮件的三种方法,实例讲述了Localhost,SMTP与SSL-SMTP三种实现方法,对于C#项目开发有不错的借鉴价值,需要的朋友可以参考下

本文实例讲述了C#实现发送邮件的三种方法。分享给大家供大家参考。具体方法分析如下:
一、问题:
最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数据发送一封E-mail,因此我也就找来相关资料,写了一个Demo分享给大家,大家共同学习学习。
二、实现代码:
通过.Net FrameWork 2.0下提供的“”可以轻松的实现,本文列举了3种途径来发送:
1.通过Localhost;
2.通过普通SMTP;
3.通过SSL的SMTP;
下面一个一个来说:

1.通过Localhost;
复制代码 代码如下:

public void SendMailLocalhost()  
{  
 msg = new ();  
("a@");  
("b@");  
/* ("b@");  
* ("b@");  
* ("b@");可以发送给多人  
*/  
(c@);  
/*  
* ("c@");  
* ("c@");可以抄送给多人  
*/  
 = new MailAddress("a@", "AlphaWu", .UTF8);  
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/  
 = "这是测试邮件";//邮件标题  
 = .UTF8;//邮件标题编码  
 = "邮件内容";//邮件内容  
 = .UTF8;//邮件内容编码  
 = false;//是否是HTML邮件  
 = ;//邮件优先级 
  
SmtpClient client = new SmtpClient();  
 = "localhost";  
object userState = msg;  
try  
{  
(msg, userState);  
//简单一点儿可以(msg);  
("发送成功");  
}  
catch ( ex)  
{  
(, "发送邮件出错");  
}  
} 
    public void SendMailLocalhost()  
{  
 msg = new ();  
("a@");  
("b@");  
/* ("b@");  
* ("b@");  
* ("b@");可以发送给多人  
*/  
(c@);  
/*  
* ("c@");  
* ("c@");可以抄送给多人  
*/  
 = new MailAddress(master@, "dulei", .UTF8);  
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/  
 = "这是测试邮件";//邮件标题  
 = .UTF8;//邮件标题编码  
 = "邮件内容";//邮件内容  
 = .UTF8;//邮件内容编码  
 = false;//是否是HTML邮件  
 = ;//邮件优先级 
SmtpClient client = new SmtpClient();  
 = "localhost";  
object userState = msg;  
try  
{  
(msg, userState);  
//简单一点儿可以(msg);  
("发送成功");  
}  
catch ( ex)  
{  
(, "发送邮件出错");  
}  
}

 
2.通过普通SMTP C#代码如下
复制代码 代码如下:

public void SendMailUseZj()    
{    
 msg = new ();    
(a@);    
(b@);    
/*   
* ("b@");   
* ("b@");   
* ("b@");可以发送给多人   
*/    
("c@");    
/*   
* ("c@");   
* ("c@");可以抄送给多人   
*/    
 = new MailAddress("master@", "dulei", .UTF8);    
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/    
 = "这是测试邮件";//邮件标题    
 = .UTF8;//邮件标题编码    
 = "邮件内容";//邮件内容    
 = .UTF8;//邮件内容编码    
 = false;//是否是HTML邮件    
 = ;//邮件优先级    
   
SmtpClient client = new SmtpClient();   
 = new ("dulei@", "userpass");    
//在注册的邮箱和密码    
 = "smtp.";    
object userState = msg;    
try    
{    
(msg, userState);    
//简单一点儿可以(msg);    
("发送成功");    
}    
catch ( ex)    
{    
(, "发送邮件出错");    
}    
}

 
3.通过SSL的SMTP
复制代码 代码如下:

public void SendMailUseGmail()    
{    
 msg = new ();    
(a@);    
(b@);    
/*   
 ("b@");   
* ("b@");   
* ("b@");可以发送给多人   
*/    
(c@);    
/*   
* ("c@");   
* ("c@");可以抄送给多人   
*/    
 = new MailAddress("", "dulei", .UTF8);    
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/    
 = "这是测试邮件";//邮件标题    
 = .UTF8;//邮件标题编码    
 = "邮件内容";//邮件内容    
 = .UTF8;//邮件内容编码    
 = false;//是否是HTML邮件    
 = ;//邮件优先级    
SmtpClient client = new SmtpClient();    
 = new ("boys90com@", "password");    
//上述写你的GMail邮箱和密码    
 = 587;//Gmail使用的端口    
 = "";    
 = true;//经过ssl加密    
object userState = msg;    
try    
{    
(msg, userState);    
//简单一点儿可以(msg);    
("发送成功");    
}    
catch ( ex)    
{    
(, "发送邮件出错");    
}    
}