邮箱发送验证码

  • 来源:新网
  • 更新日期:2018-03-13

摘要:注册时的根据用户输入的邮箱,发送一封邮件来激活账号 目的: 解决用户账号的安全方便用户通过邮箱找回密码 问题:  发送邮件的服务越是免费力度大,就越有可能被用来发垃圾邮件,导致共享ip的发送数量超过阈值,或者信誉下降甚至被黑名单。想免费就做好付出相应代价的觉悟。自建邮件服务器的话需要自己维护,要自己懂得如何设置spf和dkim的值,了解如何预热,成本也是挺高的。 代码:

注册时的根据用户输入的邮箱,发送一封邮件来激活账号

t01701bd16c08c04626.jpg

目的:

解决用户账号的安全方便用户通过邮箱找回密码

问题:
发送邮件的服务越是免费力度大,就越有可能被用来发垃圾邮件,导致共享ip的发送数量超过阈值,或者信誉下降甚至被黑名单。想免费就做好付出相应代价的觉悟。自建邮件服务器的话需要自己维护,要自己懂得如何设置spf和dkim的值,了解如何预热,成本也是挺高的。

代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Net.Mail;

namespaceModel

{

publicclassqqSendEmial

{

#region邮箱发送公共方法

///<summary>

///qq邮箱发送

///</summary>

///<paramname="mailTo">收件人</param>

///<paramname="mailSubject">邮件主题</param>

///<paramname="mailContent">邮件内容</param>

///<returns></returns>

publicstaticboolSendEmail(stringmailTo,stringmailSubject,stringmailContent)

{

//设置发送方的邮件信息

stringsmtpServer="smtp.qq.com";//SMTP服务器(qq邮箱)

stringmailFrom="969486092@qq.com";//登录名称

stringuserPassword="gvetzbfdltncbcfc";//登录密码新版之后的QQ邮箱都是使用授权码,需要到邮箱-设置-账户里面找到-生成授权码-复制进来

//邮件服务设置

SmtpClientsmtpClient=newSmtpClient();

smtpClient.EnableSsl=true;//使用了授权码必须设置为true

smtpClient.DeliveryMethod=SmtpDeliveryMethod.Network;//指定电子邮件发送方式

smtpClient.Host=smtpServer;

smtpClient.Credentials=newSystem.Net.NetworkCredential(mailFrom,userPassword);//用户名密码

//发送邮件设置

MailMessagemailMessage=newMailMessage();

mailMessage.From=newMailAddress(mailFrom,"发件人内容",System.Text.Encoding.UTF8);//发送人

mailMessage.To.Add(mailTo);//收件人;

mailMessage.Subject=mailSubject;//主题

mailMessage.Body=mailContent;//内容

mailMessage.BodyEncoding=Encoding.UTF8;//正文编码

mailMessage.IsBodyHtml=true;//设置为Html格式

mailMessage.Priority=MailPriority.Low;//优先级

try

{

smtpClient.Send(mailMessage);

returntrue;

}

catch(Exception)

{

returnfalse;

throw;

}

}

#endregion

}

}