`

Spring JavaMail的示例

阅读更多
1.接口
1 package com.xzl.mail;
2 
3 public interface OrderManager {
4     public void placeOrder(String email);
5 
6 }
2.实现
 1 package com.xzl.mail;
 2 
 3 import javax.mail.Message;
 4 import javax.mail.MessagingException;
 5 import javax.mail.internet.InternetAddress;
 6 import javax.mail.internet.MimeMessage;
 7 
 8 import org.springframework.mail.MailException;
 9 import org.springframework.mail.SimpleMailMessage;
10 import org.springframework.mail.javamail.JavaMailSender;
11 import org.springframework.mail.javamail.MimeMessagePreparator;
12 
13 public class OrderManagerImpl implements OrderManager {
14     private JavaMailSender mailsender;
15      private SimpleMailMessage message;
16     
17     
18          public void setMessage(SimpleMailMessage message)
19          {
20              this.message = message;
21          }
22          public void setMailsender(JavaMailSender mailsender) 
23          {
24              this.mailsender = mailsender;
25      }
26          public void placeOrder(final String email) {
27             
28      
29              MimeMessagePreparator preparator = new MimeMessagePreparator() {
30                 public void prepare(MimeMessage mimeMessage) throws MessagingException {
31                      mimeMessage.setRecipient(Message.RecipientType.TO, 
32                              new InternetAddress(email));
33                      mimeMessage.setFrom(new InternetAddress(message.getFrom()));
34                      /**转换编码为GBK*/
35                      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 
49 }
50 
3.测试用例
 1 package com.xzl.mail;
 2 
 3 import org.springframework.beans.factory.BeanFactory;
 4 import org.springframework.beans.factory.xml.XmlBeanFactory;
 5 import org.springframework.core.io.ClassPathResource;
 6 import org.springframework.core.io.Resource;
 7 
 8 public class SpringMailTest {
 9 
10     /**
11      * @param args
12      */
13     public static void main(String[] args) {
14         // TODO Auto-generated method stub
15         Resource res = new ClassPathResource("xxx.xml");
16         BeanFactory bf = new XmlBeanFactory(res);
17         OrderManagerImpl mail = (OrderManagerImpl)bf.getBean("orderManager");
18         mail.placeOrder("jo.o@163.com");
19     }
20 
21 }
22 
4.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>
34      </bean>
35  
36      <bean id="orderManager" class="com.xzl.mail.OrderManagerImpl">
37          <property name="mailsender">
38              <ref bean="mailSender" />
39          </property>
40          <property name="message">
41              <ref bean="mailMessage" />
42          </property>
43      </bean>
44  
45  </beans>
5.完成
5
0
分享到:
评论

相关推荐

    spring+javamail代码示例

    本示例将深入探讨如何结合Spring框架和JavaMail API来发送电子邮件,这在许多业务场景中非常实用,如通知服务、用户验证等。 首先,我们需要了解`EmailSender`类。这个类通常会包含实现邮件发送的核心逻辑。在...

    Spring实现JavaMail邮件发送功能

    `SpringEmailGmail.zip`文件很可能包含了一个示例项目,演示如何配置和使用Spring发送Gmail邮件的完整源代码。通过阅读和学习这个例子,你可以更好地理解和实践上述步骤。 综上所述,Spring结合JavaMail为Java...

    在spring利用javamail,quartz定时发送邮件

    ### 在Spring中结合JavaMail与Quartz实现定时邮件发送 #### 概述 在Web开发领域,自动化定时任务是常见的需求之一,例如自动发送报告、更新数据或进行系统维护等。Spring框架因其强大的功能和灵活性,成为了实现...

    SpringUseJavaMailSendEmail(spring使用javamail发送邮件的例子)

    本示例将详细解释如何在Spring框架中结合JavaMail API来发送电子邮件。 首先,我们需要理解Spring框架中的邮件服务抽象。Spring提供了一个`JavaMailSender`接口,该接口定义了发送邮件的基本方法。我们可以通过配置...

    JavaMail完全实现

    在结合Spring框架时,JavaMail的使用变得更加灵活和高效。 在“JavaMail完全实现”项目中,开发者提供了一个完整的解决方案,该方案整合了Spring框架和Jmail库,使得邮件服务的配置和使用变得简单易行。Jmail是一个...

    javamail1.5.jar及sample

    在实际开发中,JavaMail库通常与其他工具或框架结合使用,例如Spring框架,以实现更高级的功能,如自动化邮件服务。通过深入学习和实践JavaMail提供的示例,开发者能够熟练掌握邮件处理的各种操作,从而在项目中实现...

    spring集成邮件服务

    下面将详细阐述Spring如何与JavaMail API结合,实现邮件服务的集成。 首先,我们需要理解JavaMail API。JavaMail是一个开源库,它允许Java应用程序发送和接收电子邮件。它提供了一系列接口和类,用于操作邮件服务器...

    javaMail1.4.3 API文档和源代码

    - Spring Framework 提供了对 JavaMail 的支持,可以在 Spring 应用中方便地配置和使用 JavaMail。 - Maven 或 Gradle 可以作为构建工具,管理 JavaMail 的依赖库。 总的来说,JavaMail 1.4.3 API 文档和源代码是...

    javamail的封装

    这个自定义的封装是对JavaMail API的一个简化和扩展,旨在提供一个不依赖于Spring框架的解决方案,从而允许更灵活的集成到各种项目中。这个封装可能包含了配置、异常处理、以及方便的API调用,使得邮件发送变得更加...

    javaMail_JAVA发送邮箱示例_

    在实际项目中,还可以使用第三方库,如 Spring 的 `JavaMailSender` 接口,简化邮件发送的代码。 总的来说,JavaMail 是一个强大且灵活的工具,能够满足开发者的各种邮件处理需求。通过了解并熟练掌握其核心概念和...

    JavaMail demo

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。它提供了API,使得开发者可以方便地创建、...通过深入理解并实践这个示例,我们可以更好地理解和掌握JavaMail和Spring框架在邮件服务中的应用。

    spring JavaMailSenderImpl 发送邮件 java

    对于JavaMailSenderImpl,我们需要包含Spring的`spring-context`和JavaMail的相关依赖,如`javax.mail-api`和`javamail`。 **5. 示例代码** 以下是一个简单的示例,展示了如何在Spring中使用JavaMailSenderImpl...

    spring+velocity发送邮件

    以下是一个简化的示例,展示了如何在Spring环境中配置JavaMail Sender Bean: ```java &lt;bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"&gt; ``` ### 小结 通过...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...

    SpringBoot整合邮箱JavaMail

    在本文中,我们将深入探讨如何在SpringBoot应用中整合JavaMail服务,以便实现电子邮件的发送功能...这个示例代码可以作为一个基础,根据实际需求进行扩展和定制。如果你遇到任何问题或有其他需求,欢迎进行交流和讨论。

    JavaMail 使用163发邮件

    在提供的压缩包文件"Spring08JavaMail"中,可能包含了使用Spring集成JavaMail的示例代码,你可以参考学习如何在Spring应用中配置和使用JavaMailSender。 总结起来,JavaMail是一个功能丰富的库,用于在Java应用程序...

    springmail架包

    SpringMail 是一个基于 Java 的库,它为使用 JavaMail API 发送电子邮件提供了便捷的抽象层。这个框架使得在 Spring 应用程序中集成邮件服务变得简单。本文将深入探讨 SpringMail 的核心概念、配置以及如何在实际...

    Spring发送Email

    Spring Mail是Spring框架的一个扩展,它基于JavaMail API,用于处理邮件发送任务。JavaMail API是Java中用于处理邮件的规范,而Spring Mail则提供了一层抽象,简化了邮件发送的配置和实现。 要使用Spring Mail,...

Global site tag (gtag.js) - Google Analytics