- 浏览: 91589 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (90)
- spring mvc (7)
- hudson(持续集成引擎) (1)
- jquery (5)
- mongodb (2)
- httpclient (1)
- spring3.1 (4)
- hibernate4.1 (6)
- tomcat;database; (1)
- mysql;存储引擎; (1)
- dwr (1)
- httpsession (2)
- symbian (1)
- lighttpd (3)
- nginx (3)
- apache (2)
- 链表 (1)
- jetty (2)
- Redis (1)
- memcached (1)
- squid (1)
- 反向代理 (1)
- 360doc (1)
- struts2 (2)
- mail (1)
- annotation (2)
- captcha (1)
- ehcache (2)
- ThreadPoolTaskExecutor (1)
- json (2)
- tomcat (3)
- cookie (1)
- session (1)
- 面试 (3)
- hadoop (3)
- JDK (1)
- 内存 (1)
- hibernate二级缓存 (1)
- hadoop mapreduce (1)
- linux (2)
- spring security (2)
- http (2)
- excel (1)
- unix (1)
- compass (1)
- lucene (1)
- kindeditor (1)
- C++ (1)
- java (1)
- cas (1)
- eclipse (2)
- olap (1)
- oltp (1)
- Git (1)
- BI (1)
- lago (1)
- 存储过程 (2)
- 书本 (1)
- VMware虚拟机 (1)
- 网络技术 (1)
- 登陆 (1)
- SapphireCache (1)
- ssl (1)
- webservice (1)
- RPC (1)
- 连接池 (1)
- google api (1)
- oracle (1)
- javascript (1)
- mysql (1)
- 离线文件 (0)
- 多线程 (0)
最新评论
-
davinsam:
import org.mysterylab.utopiafra ...
hibernate dao -
davinsam:
dao类使用说明弄错了,怎么跟basehibernatedao ...
hibernate dao -
like_shadows:
真不错,顶
mongodb基本知识
[color=orange][size=large]Spring mail邮件发送
Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时负责低层次的代表客户端的资源处理。Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender和 封装了简单邮件的属性如from, to,cc, subject, text的值对象叫做SimpleMailMessage。
1、我们定义一个发送邮件的接口:
2、我们需要对该接口进行实现的方法:
3、spring配置发送email的
4、最后配置自己的jsp面以及action
1
到此所有的开发以结束。
Sring邮件抽象层的主要包是:org.springframework.mail 包。它包含叫MailSender为发送邮件的核心接口和包含简单邮件属性例如from,to,cc,subject,text叫SimpleMailMessage的值对象. 这个包也包含一个检查异常的层次,它支持一个更高级别的抽象超过低级别的邮件系统异常伴随根异常存在MailException. 请参考JavaDocs为更多的信息杂邮件异常层次。
Spring也支持一个MailSender的专用于JavaMail特征例如MIME消息子接口,命名为org.springframework.javamail.JavaMailerSener。它也支持一个为JavaMail MIME信息的准备回调接口,命名为org.springframework.mail.JavaMail.MimeMessagePreparator.
字串7
Spring Mail
//修改用户名密码即可,提示:有些邮箱不支持smtp,请大家多换几个试试,spring mail 服务配置进来
代码
1. //修改用户名密码即可,提示:有些邮箱不支持smtp,请大家多换几个试试,spring mail 服务配置进来
2.
34.
35.
36. 业务层方法
37.
60. //将模板registration-confirmation.vm 存放在resourceLoaderPath的配置路径下(WEB-INF/) 模板见附件
61. //依赖javamail.jar, j2ee4和j2ee5也有关系,使用时注意
[/size][/color]
Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时负责低层次的代表客户端的资源处理。Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender和 封装了简单邮件的属性如from, to,cc, subject, text的值对象叫做SimpleMailMessage。
1、我们定义一个发送邮件的接口:
OrderManager.java 1 public interface OrderManager extends BaseManager{ 2 /** 3 *email,要发送的邮件地址; 4 *Code:激活码 5 */ 6 public void placeOrder(String email); 7 }
2、我们需要对该接口进行实现的方法:
OrderManagerImpl.java 1 import javax.mail.Message; 2 import javax.mail.MessagingException; 3 import javax.mail.internet.InternetAddress; 4 import javax.mail.internet.MimeMessage; 5 import org.springframework.mail.MailException; 6 import org.springframework.mail.javamail.JavaMailSender; 7 import org.springframework.mail.javamail.MimeMessagePreparator; 字串6 8 import service.OrderManager; 9 11 public class OrderManagerImpl extends BaseManagerImpl implements OrderManager { 字串2 字串2 12 13 private JavaMailSender mailsender; 14 private MyMailMessage message; 15 16 17 public void setMessage(CityMailMessage message) 18 { 19 this.message = message; 20 } 21 public void setMailsender(JavaMailSender mailsender) { 22 this.mailsender = mailsender; 23 } 24 public void placeOrder(final String email) { 25 26 27 MimeMessagePreparator preparator = new MimeMessagePreparator() { 28 public void prepare(MimeMessage mimeMessage) throws MessagingException { 29 mimeMessage.setRecipient(Message.RecipientType.TO, 30 new InternetAddress(email)); 31 mimeMessage.setFrom(new InternetAddress(message.getFrom())); 32 /**转换编码为GBK*/ 33 mimeMessage.setSubject(message.getSubject(),"GBK"); 36 mimeMessage.setText(email+"<br>"+message.getSubject()+message.getText(),"GBK"); 37 38 } 39 }; 40 try{ 41 mailsender.send(preparator); 42 } 43 catch(MailException ex) { 字串9 字串9 44 //log it and go on 45 System.err.println(ex.getMessage()); 46 } 47 } 48 }
3、spring配置发送email的
applicationContext-email.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 3 "http://www.springframework.org/dtd/spring-beans.dtd"> 4 5 <beans> 6 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 7 <property name="host"> 8 <value>smtp.163.com</value> 9 </property> 10 <property name="username"> 11 <value>username</value> 12 </property> 13 <property name="password"> 14 <value>password</value> 15 </property> 16 <property name="javaMailProperties"> 17 <props> 18 <prop key="mail.smtp.auth">true</prop> 19 <prop key="mail.smtp.timeout">25000</prop> 20 </props> 21 </property> 22 </bean> 23 24 <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> 字串3 字串2 25 <property name="from"> 26 <value>Email</value> 27 </property> 28 <property name="subject"> 29 <value>标题</value> 30 </property> 31 <property name="text"> 32 <value>内容</value> 33 </property> 46 </bean> 47 48 <bean id="orderManager" class="cn.cityyouth.service.impl.OrderManagerImpl"> 49 <property name="mailsender"> 50 <ref bean="mailSender" /> 51 </property> 52 <property name="message"> 53 <ref bean="mailMessage" /> 54 </property> 55 </bean> 56 57 </beans>
4、最后配置自己的jsp面以及action
1
package cn.cityyouth.web.action; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 import org.apache.struts.action.ActionForm; 6 import org.apache.struts.action.ActionForward; 7 import org.apache.struts.action.ActionMapping; 8 import org.apache.struts.action.ActionMessage; 9 import org.apache.struts.action.ActionMessages; 字串6 字串8 10 import com.test.service.OrderManager; 11 12 public class SendMailAction extends BaseAction { 13 14 /** 15 * Method execute 16 * 17 * @param mapping 18 * @param form 19 * @param request 20 * @param response 21 * @return ActionForward 22 */ 23 public ActionForward execute(ActionMapping mapping, ActionForm form, 24 HttpServletRequest request, HttpServletResponse response) { 25 OrderManager omi=(OrderManager)this.getBean("orderManager"); 26 String useremail="123@163.com"; 27 omi.placeOrder(useremail); 28 } 29 }
到此所有的开发以结束。
Sring邮件抽象层的主要包是:org.springframework.mail 包。它包含叫MailSender为发送邮件的核心接口和包含简单邮件属性例如from,to,cc,subject,text叫SimpleMailMessage的值对象. 这个包也包含一个检查异常的层次,它支持一个更高级别的抽象超过低级别的邮件系统异常伴随根异常存在MailException. 请参考JavaDocs为更多的信息杂邮件异常层次。
Spring也支持一个MailSender的专用于JavaMail特征例如MIME消息子接口,命名为org.springframework.javamail.JavaMailerSener。它也支持一个为JavaMail MIME信息的准备回调接口,命名为org.springframework.mail.JavaMail.MimeMessagePreparator.
字串7
Spring Mail
//修改用户名密码即可,提示:有些邮箱不支持smtp,请大家多换几个试试,spring mail 服务配置进来
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.163.com" /> <property name="port" value="25 ...
代码
1. //修改用户名密码即可,提示:有些邮箱不支持smtp,请大家多换几个试试,spring mail 服务配置进来
2.
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 3. <property name="host" value="smtp.163.com" /> 4. <property name="port" value="25" /> 5. <property name="username" value="****@163.com" /> 6. <property name="password" value="*******" /> 7. <property name="javaMailProperties"> 8. <props> 9. <prop key="mail.smtp.auth">true</prop> 10. <prop key="mail.smtp.timeout">25000</prop> 11. </props> 12. </property> 13. </bean> 14. // 邮件模板 15. <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> 16. <property name="resourceLoaderPath" value="WEB-INF/"></property> 17. <!-- 18. <property name="velocityProperties"> 19. <value>resource.loader=class class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</value> 20. </property> 21. --> 22. </bean> 23. 24. // 将发送邮件和邮件模板都注入到需要发送邮件的业务层类 25. 26. <bean id="**Service" class="****.service.impl.***"> 27. <property name="***DAO"> 28. <ref bean="***DAO"/> 29. </property> 30. <property name="mailSender" ref="mailSender" /> 31. <property name="velocityEngine" ref="velocityEngine" /> 32. </bean> 33.
34.
35.
36. 业务层方法
37.
public boolean sendEmail(final User user) { 38. System.out.println("user.email===="+user.getEmail()); 39. MimeMessagePreparator preparator = new MimeMessagePreparator() { 40. public void prepare(MimeMessage mimeMessage) throws Exception { 41. MimeMessageHelper message = new MimeMessageHelper(mimeMessage,true,"UTF-8"); 42. message.setSubject("标题"); 43. message.setTo(user.getEmail()); 44. message.setFrom("***@163.com"); 45. Map model = new HashMap(); 46. model.put("user", user); 47. String text = VelocityEngineUtils.mergeTemplateIntoString( 48. velocityEngine, "registration-confirmation.vm","UTF-8", model); 49. message.setText(text, true); 50. } 51. }; 52. try{ 53. this.mailSender.send(preparator); 54. return true; 55. }catch(MailException e) { 56. System.out.println("没有这个邮箱"); 57. return true; 58. } 59. }
60. //将模板registration-confirmation.vm 存放在resourceLoaderPath的配置路径下(WEB-INF/) 模板见附件
61. //依赖javamail.jar, j2ee4和j2ee5也有关系,使用时注意
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- Spring 邮件发送者 --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="protocol" value="smtp" /> <property name="host" value="smtp.163.com" /> <property name="port" value="25" /><!-- SSL则端口为465/587 --> <property name="username" value="im_mysns@sina.com" /> <property name="password" value="iloveyou" /> <property name="javaMailProperties"> <props> <prop key="mail.debug">true</prop> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.starttls.enable">true</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> </props> </property> </bean> <!-- FreeMarker的html邮件格式模板 --> <bean id="mailFreeMarker" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">2000</prop> <prop key="default_encoding">utf-8</prop> <prop key="locale">zh_CN</prop> </props> </property> <property name="templateLoaderPath" value="classpath:com/mysns/module/mail/htmlskin" /> </bean> <!-- 发送邮件服务 --> <bean id="mailService" class="com.mysns.module.mail.service.MailService"> <property name="mailSender" ref="mailSender" /> <property name="sender" value="im_mysns@sina.com" /> <property name="encoding" value="utf-8" /> <property name="taskExecutor" ref="taskExecutor" /> <property name="freeMarkerConfigurer" ref="mailFreeMarker" /> <property name="templateFile" value="view_mail_welcome.ftl" /> </bean> </beans>
[/size][/color]
发表评论
-
spring
2012-05-02 18:42 707转载淘宝牛人的笔记 Spring 作为现在最优秀的框架之一, ... -
first spring program
2012-05-02 15:06 678Spring程序 Spring Gossip: 第一个 Spr ... -
spring mvc first example
2012-05-02 15:01 863[size=large]Spring mvc 第一个 Spri ... -
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
2012-04-20 13:01 1212转载【http://sishuok.com/for ... -
json格式的输入和输出
2012-04-19 20:04 1211转载http://starscream.iteye.c ... -
Spring mvc3的ajax
2012-04-19 19:59 1168转载来自http://xace.iteye.com/blog/ ... -
spring mvc DispatcherServlet
2012-04-19 19:54 1050Spring MVC的请求处理流程 viewResolve ... -
在Spring中使用jcaptcha实现图片验证
2012-04-19 19:36 1684转载来自http://sha0k.iteye.com/blog ...
相关推荐
springmail架包,spring发邮件的架包
spring给邮件用户发送消息,包括正文,附件,内容
spring发送 email 发送html格式数据,普通数据,附件,图片等邮件
NULL 博文链接:https://wangshiyang.iteye.com/blog/1625411
Spring mail发送邮件实例 Spring mail发送邮件实例
spring mail 的发送 mail spring mail demo 示例
SpringMail.rar SpringMail发邮件
使用Spring mail发送邮件的完整实例,包含代码与Spring mail的jar,可直接运行与使用。相关学习文档参考博客《Spring Mail邮件发送 http://blog.csdn.net/chenxiang0207/article/details/8256528》。
You can deploy the application any Java servlet container or executing the application on an embedded Tomcat 7 with mvn tomcat7:run (the application will be at http://localhost:8080/springmail/).
NULL 博文链接:https://longjuanfeng885.iteye.com/blog/1895577
SpringMail的集成
这个java project的源代码 博文链接:https://kukuqiu.iteye.com/blog/161771
springmail架包及各种邮件发送代码...
NULL 博文链接:https://wellfrog.iteye.com/blog/834337
spring + mail + 发送邮件 demo
spring 发现邮件的例子,例子是发附件的实现,希望对你有所帮助