/// <summary>
/// 发送email
/// </summary>
private void SendMail()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("*****邮箱地址", "柯少", System.Text.Encoding.UTF8); //发件人的邮箱地址
msg.Subject = "*欢迎您的注册*"; //邮件主题
msg.Body = "<a href='http://192.168.30.41:8880/jihuo.aspx?email=" + EMail.Text + "'>点击激活您的账号</a>";//邮件正文
msg.To.Add(this.txtMail.Text);
msg.IsBodyHtml = true; //邮件正文是否支持html的值
SmtpClient sc = new SmtpClient();
sc.EnableSsl = true;
sc.Host = "smtp.gmail.com"; 可以是smtp.qq.com 或者163的均可
sc.Port = 25;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
NetworkCredential nc = new NetworkCredential("***@gmail.com", "***"); //验证凭据 ***@gmail.com :是邮箱账号,***:是邮箱密码 这两个必须是真实的,否则不能通过验证
sc.Credentials = nc;
sc.Send(msg);
Response.Write("<script>alert('发送成功');</script>");
}
上面是smtp发送email的实现
注意:发送之前必须把发送邮件的邮箱开通smtp/pop ,否则不能发送成功,一般都是在邮箱的设置里面开通,由于个人所用的邮箱不尽相同,所以本人就不在这里赘述!
错误:
1、Error: need EHLO and AUTH first
answer:如果你都照着上面的操作后还出现这个错误的话,那就看看登录一下发送邮箱检查smtp/pop是否开通
2、服务器要求安全连接或客户端未通过身份验证
answer:检查代码和邮箱设置
如果还出现其他错误的话,你可以在检查一下自己的代码,看是否是代码书写错误,并且可以更换发送邮箱!