记录一下使用SMTP协议发送邮件服务器
public void Mail() { try { System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); client.Host = "smtp.163.com"; //使用163的SMTP服务器发送邮件 client.UseDefaultCredentials = true; client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; client.Credentials = new System.Net.NetworkCredential("调用发送邮件的邮箱地址", "受权码"); client.Port = 25; System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage(); Message.From = new System.Net.Mail.MailAddress("moling_free@163.com"); Message.To.Add("收件人邮箱"); Message.Subject = "标题"; Message.Body = "正文"; Message.SubjectEncoding = System.Text.Encoding.UTF8; Message.BodyEncoding = System.Text.Encoding.UTF8; Message.Priority = System.Net.Mail.MailPriority.High; Message.IsBodyHtml = true; client.Send(Message); } catch(Exception ex){ throw ex;}
注:spa
一、受权码须要去邮箱客户端里的POP3 /SMTP选项里开通便可获取受权码,不须要使用邮箱密码。使用受权码便可经过第三方程序调用其邮箱代为发送邮件。开通方法登录邮箱便可看到,就再也不说明(真不清楚也可自行百度一下)。.net
二、如需使用qq邮箱做为发送端,须要修改邮箱服务器为:smtp.qq.com。也需开通受权码的,qq邮箱里有相似的开通方式。code
三、可能会发送失败(450、550错误码等),其主要缘由是由于邮件服务器的反垃圾策略拦截了。能够检查标题、正文是否有敏感信息,检查发送频率是否过多,可能你的IP被标记了,可能过段时间就行了(可能几分钟,也可能几个小时,甚至一两天,这个看脸。。。)blog
关于详细的错误码能够参考:https://blog.csdn.net/fakine/article/details/72898413get
四、被拦截的话能够在邮箱里设置白名单试试,不过不是都有用,感受qq\163用的别人的邮件服务器就常常有这种问题,若是是公司内部使用的话建议搭建本身的邮件服务器。it