转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> JAVA开发 >> 正文
使用Spring邮件抽象层发送简单邮件         ★★★★

使用Spring邮件抽象层发送简单邮件

作者:闵涛 文章来源:闵涛的学习笔记 点击数:858 更新时间:2009/4/22 23:30:21
  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;
8 import service.OrderManager;
9
11 public class OrderManagerImpl extends BaseManagerImpl implements OrderManager {
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) {
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">
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;
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.


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台