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.完成
分享到:
相关推荐
本示例将深入探讨如何结合Spring框架和JavaMail API来发送电子邮件,这在许多业务场景中非常实用,如通知服务、用户验证等。 首先,我们需要了解`EmailSender`类。这个类通常会包含实现邮件发送的核心逻辑。在...
`SpringEmailGmail.zip`文件很可能包含了一个示例项目,演示如何配置和使用Spring发送Gmail邮件的完整源代码。通过阅读和学习这个例子,你可以更好地理解和实践上述步骤。 综上所述,Spring结合JavaMail为Java...
### 在Spring中结合JavaMail与Quartz实现定时邮件发送 #### 概述 在Web开发领域,自动化定时任务是常见的需求之一,例如自动发送报告、更新数据或进行系统维护等。Spring框架因其强大的功能和灵活性,成为了实现...
本示例将详细解释如何在Spring框架中结合JavaMail API来发送电子邮件。 首先,我们需要理解Spring框架中的邮件服务抽象。Spring提供了一个`JavaMailSender`接口,该接口定义了发送邮件的基本方法。我们可以通过配置...
在结合Spring框架时,JavaMail的使用变得更加灵活和高效。 在“JavaMail完全实现”项目中,开发者提供了一个完整的解决方案,该方案整合了Spring框架和Jmail库,使得邮件服务的配置和使用变得简单易行。Jmail是一个...
在实际开发中,JavaMail库通常与其他工具或框架结合使用,例如Spring框架,以实现更高级的功能,如自动化邮件服务。通过深入学习和实践JavaMail提供的示例,开发者能够熟练掌握邮件处理的各种操作,从而在项目中实现...
下面将详细阐述Spring如何与JavaMail API结合,实现邮件服务的集成。 首先,我们需要理解JavaMail API。JavaMail是一个开源库,它允许Java应用程序发送和接收电子邮件。它提供了一系列接口和类,用于操作邮件服务器...
- Spring Framework 提供了对 JavaMail 的支持,可以在 Spring 应用中方便地配置和使用 JavaMail。 - Maven 或 Gradle 可以作为构建工具,管理 JavaMail 的依赖库。 总的来说,JavaMail 1.4.3 API 文档和源代码是...
这个自定义的封装是对JavaMail API的一个简化和扩展,旨在提供一个不依赖于Spring框架的解决方案,从而允许更灵活的集成到各种项目中。这个封装可能包含了配置、异常处理、以及方便的API调用,使得邮件发送变得更加...
在实际项目中,还可以使用第三方库,如 Spring 的 `JavaMailSender` 接口,简化邮件发送的代码。 总的来说,JavaMail 是一个强大且灵活的工具,能够满足开发者的各种邮件处理需求。通过了解并熟练掌握其核心概念和...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。它提供了API,使得开发者可以方便地创建、...通过深入理解并实践这个示例,我们可以更好地理解和掌握JavaMail和Spring框架在邮件服务中的应用。
对于JavaMailSenderImpl,我们需要包含Spring的`spring-context`和JavaMail的相关依赖,如`javax.mail-api`和`javamail`。 **5. 示例代码** 以下是一个简单的示例,展示了如何在Spring中使用JavaMailSenderImpl...
以下是一个简化的示例,展示了如何在Spring环境中配置JavaMail Sender Bean: ```java <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> ``` ### 小结 通过...
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服务,以便实现电子邮件的发送功能...这个示例代码可以作为一个基础,根据实际需求进行扩展和定制。如果你遇到任何问题或有其他需求,欢迎进行交流和讨论。
在提供的压缩包文件"Spring08JavaMail"中,可能包含了使用Spring集成JavaMail的示例代码,你可以参考学习如何在Spring应用中配置和使用JavaMailSender。 总结起来,JavaMail是一个功能丰富的库,用于在Java应用程序...
SpringMail 是一个基于 Java 的库,它为使用 JavaMail API 发送电子邮件提供了便捷的抽象层。这个框架使得在 Spring 应用程序中集成邮件服务变得简单。本文将深入探讨 SpringMail 的核心概念、配置以及如何在实际...
Spring Mail是Spring框架的一个扩展,它基于JavaMail API,用于处理邮件发送任务。JavaMail API是Java中用于处理邮件的规范,而Spring Mail则提供了一层抽象,简化了邮件发送的配置和实现。 要使用Spring Mail,...