发送邮箱验证码(带html格式)

阅读:1282 2019-03-20 14:08:32 来源:新网

场景:用于用户注册、密码重置等。

1.邮件html模板emailtemplet.html

.qmboxbody{margin:0;padding:0;background:#fff;font-family:"verdana,arial,helvetica,sans-serif";font-size:14px;line-height:24px;}.qmboxdiv,.qmboxp,.qmboxspan,.qmboximg{margin:0;padding:0;}.qmboximg{border:none;}.qmbox.contaner{margin:0auto;}.qmbox.title{margin:0auto;background:url()#cccrepeat-x;height:30px;text-align:center;font-weight:bold;padding-top:12px;font-size:16px;}.qmbox.content{margin:4px;}.qmbox.biaoti{padding:6px;color:#000;}.qmbox.xtop,.qmbox.xbottom{display:block;font-size:1px;}.qmbox.xb1,.qmbox.xb2,.qmbox.xb3,.qmbox.xb4{display:block;overflow:hidden;}.qmbox.xb1,.qmbox.xb2,.qmbox.xb3{height:1px;}.qmbox.xb2,.qmbox.xb3,.qmbox.xb4{border-left:1pxsolid#bcbcbc;border-right:1pxsolid#bcbcbc;}.qmbox.xb1{margin:05px;background:#bcbcbc;}.qmbox.xb2{margin:03px;border-width:02px;}.qmbox.xb3{margin:02px;}.qmbox.xb4{height:2px;margin:01px;}.qmbox.xboxcontent{display:block;border:0solid#bcbcbc;border-width:01px;}.qmbox.line{margin-top:6px;border-top:1pxdashed#b9b9b9;padding:4px;}.qmbox.neirong{padding:6px;color:#666666;}.qmbox.foot{padding:6px;color:#777;}.qmbox.font_darkblue{color:#006699;font-weight:bold;}.qmbox.font_lightblue{color:#008bd1;font-weight:bold;}.qmbox.font_gray{color:#888;font-size:12px;}$(title)

亲爱的用户,你好!

请核对你的用户名:$(username)

$(type)的验证码:$(captcha)
(请输入该验证码完成$(type),验证码30分钟内有效!)

如果你未申请$(type)服务,请忽略该邮件。
如果仍有问题,请拨打我们的会员服务专线:021-51875288

.qmboxstyle,.qmboxscript,.qmboxhead,.qmboxlink,.qmboxmeta{display:none!important;}

2.验证码生成工具类captchautils.java

importjava.util.random;publicclasscaptchautils{/***description:生成验证码*@return*@returnstring*@authorname:yuruixin
email:ruixin_yu@asdc.com.cn**/publicstaticstringcreatcaptcha(){stringcaptcha=captcha(6);returncaptcha;}/***description:生成随机数*@paramcharcount*@return*@returnstring*@authorname:yuruixin
email:ruixin_yu@asdc.com.cn**/publicstaticstringcaptcha(intcharcount){stringcharvalue="";for(inti=0;i

3.邮件详情实体类emailmailinfo.java

/***classname:emailmailinfo.java
*description:
*createby:name:yuxin
email:yuruixin_china@163.com
*createtime:2017年6月15日
*/publicclassemailmailinfo{//邮箱服务器如smtp.163.comprivatestringhost;//用户邮箱如**@163privatestringformname;//用户授权码不是用户名密码可以自行查看相关邮件服务器怎么查看privatestringformpassword;//消息回复邮箱privatestringreplayaddress;//发送地址privatestringtoaddress;//发送主题privatestringsubject;//发送内容privatestringcontent;publicstringgethost(){returnhost;}publicvoidsethost(stringhost){this.host=host;}publicstringgetformname(){returnformname;}publicvoidsetformname(stringformname){this.formname=formname;}publicstringgetformpassword(){returnformpassword;}publicvoidsetformpassword(stringformpassword){this.formpassword=formpassword;}publicstringgetreplayaddress(){returnreplayaddress;}publicvoidsetreplayaddress(stringreplayaddress){this.replayaddress=replayaddress;}publicstringgettoaddress(){returntoaddress;}publicvoidsettoaddress(stringtoaddress){this.toaddress=toaddress;}publicstringgetsubject(){returnsubject;}publicvoidsetsubject(stringsubject){this.subject=subject;}publicstringgetcontent(){returncontent;}publicvoidsetcontent(stringcontent){this.content=content;}}

4.email模板加载与获取

/***classname:emailtemplet.java
*description:
*createby:name:yuxin
email:yuruixin_china@163.com
*createtime:2017年6月15日
*/publicclassemailtemplet{publicstaticstringgethtml(stringtitle,stringusername,stringtype,stringcaptcha){stringemailtemplet=system.getproperty("emailtemplet");emailtemplet=emailtemplet.replace("$(title)",title);emailtemplet=emailtemplet.replace("$(username)",username);emailtemplet=emailtemplet.replace("$(type)",type);emailtemplet=emailtemplet.replace("$(captcha)",captcha);returnemailtemplet;}/***description:容器初始化是加载*@returnvoid*@authorname:yuxin
email:yuruixin_china@163.com**/publicstaticvoidinitemailtemplet(){stringurl=hospitalutils.class.getresource("/emailtemplet.html").getfile();url=url.substring(1,url.length());try{stringencoding="utf-8";filefile=newfile(url);if(file.isfile()&&file.exists()){//判断文件是否存在inputstreamreaderread=newinputstreamreader(newfileinputstream(file),encoding);//考虑到编码格式bufferedreaderbufferedreader=newbufferedreader(read);stringlinetxt=null;stringbuildersb=newstringbuilder();while((linetxt=bufferedreader.readline())!=null){system.out.println(linetxt);sb.append(linetxt);}system.setproperty("emailtemplet",sb.tostring());read.close();}else{system.out.println("找不到指定的文件");}}catch(exceptione){system.out.println("读取文件内容出错");e.printstacktrace();}}}

5.邮件发送工具类emailsendutil.java

importjava.util.date;importjava.util.properties;importjavax.mail.authenticator;importjavax.mail.bodypart;importjavax.mail.message;importjavax.mail.multipart;importjavax.mail.passwordauthentication;importjavax.mail.session;importjavax.mail.transport;importjavax.mail.internet.internetaddress;importjavax.mail.internet.mimebodypart;importjavax.mail.internet.mimemessage;importjavax.mail.internet.mimemultipart;publicclassemailsendutil{privatefinalstaticstringhost="smtp.exmail.qq.com";//163的服务器privatefinalstaticstringformname="support@allin-hr.com";//你的邮箱privatefinalstaticstringpassword="******";//授权码privatefinalstaticstringreplayaddress="support@allin-hr.com";//你的邮箱publicstaticvoidsendhtmlmail(emailmailinfoinfo)throwsexception{info.sethost(host);info.setformname(formname);info.setformpassword(password);//网易邮箱的授权码~不一定是密码info.setreplayaddress(replayaddress);messagemessage=getmessage(info);//minimultipart类是一个容器类,包含mimebodypart类型的对象multipartmainpart=newmimemultipart();//创建一个包含html内容的mimebodypartbodyparthtml=newmimebodypart();//设置html内容html.setcontent(info.getcontent(),"text/html;charset=utf-8");mainpart.addbodypart(html);//将minimultipart对象设置为邮件内容message.setcontent(mainpart);transport.send(message);}publicstaticvoidsendtextmail(emailmailinfoinfo)throwsexception{info.sethost(host);info.setformname(formname);info.setformpassword(password);//网易邮箱的授权码~不一定是密码info.setreplayaddress(replayaddress);messagemessage=getmessage(info);//消息发送的内容message.settext(info.getcontent());transport.send(message);}privatestaticmessagegetmessage(emailmailinfoinfo)throwsexception{finalpropertiesp=system.getproperties();p.setproperty("mail.smtp.host",info.gethost());p.setproperty("mail.smtp.auth","true");p.setproperty("mail.smtp.user",info.getformname());p.setproperty("mail.smtp.pass",info.getformpassword());//根据邮件会话属性和密码验证器构造一个发送邮件的sessionsessionsession=session.getinstance(p,newauthenticator(){protectedpasswordauthenticationgetpasswordauthentication(){returnnewpasswordauthentication(p.getproperty("mail.smtp.user"),p.getproperty("mail.smtp.pass"));}});session.setdebug(true);messagemessage=newmimemessage(session);//消息发送的主题message.setsubject(info.getsubject());//接受消息的人message.setreplyto(internetaddress.parse(info.getreplayaddress()));//消息的发送者message.setfrom(newinternetaddress(p.getproperty("mail.smtp.user"),"神鲸系统"));//创建邮件的接收者地址,并设置到邮件消息中message.setrecipient(message.recipienttype.to,newinternetaddress(info.gettoaddress()));//消息发送的时间message.setsentdate(newdate());returnmessage;}}

6.验证码发送邮件工具类emailutil.java

相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服