当前位置: 移动技术网 > IT编程>开发语言>Java > Java的Spring框架中实现发送邮件功能的核心代码示例

Java的Spring框架中实现发送邮件功能的核心代码示例

2019年07月22日  | 移动技术网IT编程  | 我要评论

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();
 }

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网