spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller、action等地方。
下面是配置:
<!-- mail sender --> <bean id="mailsender" class="org.springframework.mail.javamail.javamailsenderimpl" p:host="${mail.host}" p:port="${mail.port}" p:username="${mail.user}" p:password="${mail.passwd}"></bean>
mail配置
email configuration: mail.host=smtp.163.com mail.port=25 mail.user=xxxxxx@163.com mail.passwd=xxxxxxxx mail.from=xxxxxx@163.com
控制器中注入mailsender:
@controller public class emailcontroller { private mailsender mailsender; @value("${mail.from}") string emailfrom; @autowired public void setmailsender(mailsender mailsender) { this.mailsender = mailsender; } @requestmapping(value="/sendemail",method=requestmethod.post) public modelandview sendemail(@modelattribute("newemail") contactemail newemail, bindingresult bindresult,sessionstatus status){ simplemailmessage message = new simplemailmessage(); message.setto(newemail.getto()); message.setfrom(emailfrom); message.setsubject(newemail.getsubject()); message.settext(newemail.getcontent()); string result = ""; try{ mailsender.send(message); result = "email was sent!"; }catch(mailexception e){ result = "sending email failed!<br/><hr/>"+e.getmessage(); } modelandview view = new modelandview("emailresult"); view.addobject("result", result); return view; } }
mail form:
<form:form action="sendemail.do" method="post" commandname="newemail"> <div> <p> to:<form:input path="to" cssstyle="width:260px;"/> <form:errors path="to" cssstyle="color:red;"/></p> <p>subject:<form:input path="subject" cssstyle="width:260px;"/> <form:errors path="subject" cssstyle="color:red;"/></p> <p>content:<form:textarea path="content" rows="5" cols="60"></form:textarea><br/> <form:errors path="content" cssstyle="color:red;"/></p> <p><input type="submit" value="confirm and send"/></p> </div> </form:form>
发送带附件的邮件:
try{ javamailsenderimpl senderimpl = new javamailsenderimpl(); properties props = new properties(); props.put("mail.smtp.auth", "true"); senderimpl.sethost("smtp.163.com"); senderimpl.setusername("zhangfl85"); senderimpl.setpassword("851010"); senderimpl.setjavamailproperties(props); mimemessage mimemessge = senderimpl.createmimemessage(); mimemessagehelper mimemessagehelper = new mimemessagehelper(mimemessge,true); mimemessagehelper.setto("zhangfl85@126.com"); mimemessagehelper.setfrom("zhangfl85@163.com"); mimemessagehelper.setsubject("添加附件测试"); mimemessagehelper.settext("test",true); filesystemresource img = new filesystemresource(new file("i:/liang.jpg")); mimemessagehelper.addattachment(mimeutility.encodeword("3m样品仓库标准送货单模板.jpg"), ,img); senderimpl.send(mimemessge); }catch(exception e){ e.printstacktrace(); }
如对本文有疑问, 点击进行留言回复!!
SpringBoot引用阿里easyexcel,Excel导出返回浏览器下载
HashMap、Hashtable、ConcurrentHashMap三者间的异同
解决RecycleView 中Item包含Edittext时,滑动view复用导致数据错乱的问题
多线程、同步工作原理、死锁案例、Lock接口、线程的生命周期的讲解及实现
网友评论