using System.Net.Mail; //要引用的命名空间
//address: 收件人地址
//content: 邮件内容
//subjecct; 主题
public bool SendMail(string address, string content, string subject)
{
MailMessage onemail = new MailMessage();
string myEmail = "xxx@xx.com//发送邮件的邮箱地址
string myPwd = "xxx"; //发送邮件的邮箱密码
onemail.BodyEncoding = System.Text.Encoding.UTF8; //发送邮件文件的编码
onemail.IsBodyHtml = true;
onemail.From = new MailAddress(myEmail);
onemail.To.Add(new MailAddress(address));
onemail.Subject = subject;
onemail.Body = content;
onemail.BodyEncoding = System.Text.Encoding.UTF8;
SmtpClient clint = new SmtpClient("xxx");//发送邮件的服务器,如果是gamil 就是:smtp.gmail.com
clint.UseDefaultCredentials = false;
clint.Port =xxx; //端口号,是gmail就是:587
clint.Credentials = new System.Net.NetworkCredential(myEmail, myPwd);
clint.DeliveryMethod = SmtpDeliveryMethod.Network;
clint.EnableSsl = true;
clint.Timeout = 15000;
try
{
clint.Send(onemail);
return true;
}
catch (Exception ex)
{
// string rel = ex.Message;
// Response.Write(rel+"<br/>");
return false;
}
}
我用的是gmail邮箱来实现的。
在实现的时候,开始报的是SMTP 服务器要求身份验证,这需要你到你的gamil中设置一下,在转发POP/IMAP项中设置启用IMAP 、POP
向163、126 SMTP用的是25端口,而gamil用的是465或587 。但是我用465时,总是超时,改成587就好了。