System.Net.Mail是.NET2.0新增的组件,利用它可以很方便实现邮件的收发,下面是通过SMTP发送邮件的方法
//先引用命名空间
using System.Net.Mail;
//方法一:纯代码的方法
MailMessage message = new MailMessage();
message.From = new MailAddress("name@gmail.com", "盛天");
message.To.Add(new MailAddress("to@qq.com")); // the email you want to send email to
message.Subject = "A test email" ;
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = "this is just a simple test!<br> Jack";
message.Priority = MailPriority.Normal;
SmtpClient client = new SmtpClient("smtp.gmail.com", 587); // 587是Gmail使用的端口
client.Credentials = new System.Net.NetworkCredential("name@gmail.com", "123456"); // Your user name & password
client.EnableSsl = true; //经过ssl加密
object userState = message;
try
{
client.Send(message);
MessageBox.Show("邮件成功发送到" + message.To.ToString());
}
catch (Exception exp)
{
MessageBox.Show(exp.Message + "\n" + exp.InnerException.Message);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//方法二:通过配置文件
MailMessage message = new MailMessage();
message.To.Add(new MailAddress("to@qq.com")); // the email you want to send email to
message.Subject = "A test email";
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = "this is just a simple test!<br> Jack";
message.Priority = MailPriority.Normal;
SmtpClient client = new SmtpClient();
client.EnableSsl = true; //经过ssl加密
try
{
client.Send(message);
MessageBox.Show("邮件成功发送到" + message.To.ToString());
}
catch (Exception exp)
{
MessageBox.Show(exp.Message + "\n" + exp.InnerException.Message);
}
//配置文件
<system.net>
<mailSettings>
<smtp from="from@gmail.com">
<network host="smtp.gmail.com" port="587" userName="name@gmail.com" password="123456" />
<!-- if has 'defaultCredentials="true"' , using Gmail can not send success -->
</smtp>
</mailSettings>
</system.net>