首页 / 邮件 / Struts2+Spring发送邮件
Struts2+Spring发送邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Struts2+Spring发送邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6978字,纯文字阅读大概需要10分钟。
内容图文
![Struts2+Spring发送邮件](/upload/InfoBanner/zyjiaocheng/1329/9d0576a34e854fbea7486247cf0c5cf1.jpg)
Spring本身有mail支持,所以用spring发邮件其实是个挺简单的事,看看其jar包
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mail</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
1:pom.xml
需要下载strut2 spring的核心包 mail.jar 以及activation.jar
< project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > < modelVersion >4.0.0</modelVersion><groupId>com.zhao</groupId><artifactId>Struts2_Spring</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>Struts2_Spring Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-json-plugin</artifactId><version>2.3.24</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><!-- 只在编译时和测试时运行 --><scope>provided</scope></dependency><!-- Struts2 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.24</version></dependency><!-- convention-plugin插件,使用了这个插件之后,就可以采用注解的方式配置Action --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-convention-plugin</artifactId><version>2.3.24</version></dependency><!-- struts2和spring整合 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>2.3.24</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework.integration</groupId><artifactId>spring-integration-mail</artifactId><version>4.2.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.0.4.RELEASE</version></dependency></dependencies><build><finalName>Struts2_Spring</finalName></build></project>
2:spring_bean.xml
第一个bean是spring的支持,第二个bean是我自定义的Struts2 Action,然后依赖注入
< bean id ="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" > < property name ="host" value ="smtp.163.com" /> < property name ="username" value ="username" /> < property name ="password" value ="password" /> </ bean > < bean id ="sendMail" class ="com.zhao.action.SendMailAction" scope ="singleton" > < property name ="mailSender" ref ="mailSender" ></ property > </ bean >
3:struts.xml
页面流程也很简单,成功了就进入成功界面
< struts > < package name ="default" extends ="struts-default" > < action name ="send" class ="com.zhao.action.SendMailAction" > < result >success.jsp</result></action><action name="sendHtml" class="com.zhao.action.SendMailAction" method="sendHtml"><result>success.jsp</result></action></package></struts>
4:SendMailAction
我们通过依赖注入,得到了JavaMailSenderImpl的对象,然后通过这个对象进行邮件的发送。
package com.zhao.action; import javax.mail.internet.MimeMessage; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import com.opensymphony.xwork2.ActionSupport; /** * * @author : zhao * @time: 2016年5月14日 * * @description:Struts2 + Spring 发送邮件 */ public class SendMailAction extends ActionSupport{ privatestaticfinallong serialVersionUID = 1L; private JavaMailSenderImpl mailSender;
//简单邮件发送 @Override public String execute() throws Exception { SimpleMailMessage message=new SimpleMailMessage(); message.setTo("to@163.com"); message.setFrom("from@163.com"); message.setSubject("练习"); message.setText("这只是一个简单的练习"); mailSender.send(message); return SUCCESS; }
//html邮件发送 public String sendHtml() throws Exception{ MimeMessage message=mailSender.createMimeMessage(); MimeMessageHelper messageHelper=new MimeMessageHelper(message); messageHelper.setTo("to@163.com"); messageHelper.setFrom("from@163.com"); messageHelper.setSubject("Html练习"); messageHelper.setText("<html><head></head><body><h1>SUCCESS</h1></body></html>",true); mailSender.send(message); return SUCCESS; }public JavaMailSenderImpl getMailSender() { return mailSender; } publicvoid setMailSender(JavaMailSenderImpl mailSender) { this.mailSender = mailSender; } }
5:错误解决
正常来说上面的步骤就足够了,但是是我遇到了两个错误
550 User has no permission
535 Error: authentication failed
550是说邮箱没有启用ssl/tls认证,所以我们直接发邮件肯定是失败的。
进入网易邮箱,开始相应服务
在这个过程会让你自己输入一个授权码,跟密码差不多,只不过你采用ssl方式登录时,需要输入授权码 ,而不是你的账号密码。这个授权码就是负责你在第三方登录的。
接下来我又遇到了535错误,这个错误的意思是验证不通过,密码不对。需要修改sprng_bean.xml中的账号密码,改成授权码,然后就好了。
好了,问题完美解决。
原文:http://www.cnblogs.com/zhao307/p/5494723.html
内容总结
以上是互联网集市为您收集整理的Struts2+Spring发送邮件全部内容,希望文章能够帮你解决Struts2+Spring发送邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。