{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
场景:用于用户注册、密码重置等。
1.邮件html模板emailtemplet.html
请核对你的用户名:
$(type)的验证码:
2.验证码生成工具类captchautils.java
importjava.util.random;publicclasscaptchautils{/***description:生成验证码*@return*@returnstring*@authorname:yuruixin 3.邮件详情实体类emailmailinfo.java /***classname:emailmailinfo.java 4.email模板加载与获取 /***classname:emailtemplet.java 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
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
*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;}}
*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();}}}