`

Spring实现Email功能

 
阅读更多

1,applicationContext.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context      
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<context:property-placeholder location="mail.properties" />

	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="${mail.host}" />
		<property name="username" value="${mail.username}" />
		<property name="password" value="${mail.password}" />
	</bean>

	<bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage">
		<property name="from" value="${mail.username}" />
	</bean>

	<bean id="orderManager"
		class="ivan.test.email.springemail.action.impl.SimpleOrderManager">
		<property name="mailSender" ref="mailSender" />
		<property name="templateMessage" ref="templateMessage" />
	</bean>
</beans>

 2,实体类Order

package ivan.test.email.springemail.entity;


public class Order {

	private Customer customer;
	private int orderNumber;
	private String subject;

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	public int getOrderNumber() {
		return orderNumber;
	}

	public void setOrderNumber(int orderNumber) {
		this.orderNumber = orderNumber;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	
}

 3,实体类Customer

package ivan.test.email.springemail.entity;

public class Customer {
	private String firstName;
	private String lastName;
	private String emailAddress;

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getEmailAddress() {
		return emailAddress;
	}

	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}

}

 4,发邮件接口

package ivan.test.email.springemail.action;

import ivan.test.email.springemail.entity.Order;

public interface OrderManager {
	void placeOrder(Order order);
}

 5,发邮件实现类

package ivan.test.email.springemail.action.impl;

import ivan.test.email.springemail.action.OrderManager;
import ivan.test.email.springemail.entity.Order;

import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;

public class SimpleOrderManager implements OrderManager {
	private MailSender mailSender;
	private SimpleMailMessage templateMessage;

	public void placeOrder(Order order) {
		SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
		msg.setTo(order.getCustomer().getEmailAddress());
		msg.setText("Dear" + order.getCustomer().getFirstName()
				+ order.getCustomer().getLastName()
				+ ", thank you for placing order. Your order number is"
				+ order.getOrderNumber());
		msg.setSubject(order.getSubject());
		try {
			this.mailSender.send(msg);
		} catch (MailException ex) {
			System.err.println(ex.getMessage());
		}
	}

	public void setMailSender(MailSender mailSender) {
		this.mailSender = mailSender;
	}

	public void setTemplateMessage(SimpleMailMessage templateMessage) {
		this.templateMessage = templateMessage;
	}
}

 6,测试类

package ivan.test.email.springemail;

import ivan.test.email.springemail.action.OrderManager;
import ivan.test.email.springemail.entity.Customer;
import ivan.test.email.springemail.entity.Order;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/applicationContext.xml" })
public class SimpleOrderManagerTest {
	@Resource
	private OrderManager orderManager;

	@Test
	public void test() {
		Order order = new Order();
		Customer customer = new Customer();
		customer.setEmailAddress("43811702@qq.com");
		customer.setFirstName("Ivan");
		customer.setLastName("Zero");
		order.setCustomer(customer);
		order.setOrderNumber(10011);
		order.setSubject("My Order");

		orderManager.placeOrder(order);
	}
}

 

 

分享到:
评论

相关推荐

    spring发送Email

    通过以上步骤,你可以在Spring应用中实现基本的邮件发送功能。当然,实际应用中可能还需要考虑其他因素,如邮件模板、多语言支持、邮件队列等。Spring提供的强大灵活性使得我们可以根据需求定制邮件发送服务,实现...

    Spring发送Email

    而发送电子邮件是许多应用程序中常见的需求,Spring框架通过其邮件支持模块Spring Mail,为开发者提供了一个简单易用的方式来实现这一功能。本文将深入探讨如何使用Spring发送电子邮件。 首先,我们需要了解Spring ...

    Spring Email

    Spring框架提供了多种方式来实现这个功能,使得开发者能够轻松地集成邮件服务到他们的应用中。 在Spring中,我们可以使用JavaMailSender接口和MailMessage对象来构建和发送邮件。JavaMailSender提供了发送简单邮件...

    Spring 实现 定时 发送EMAIL

    Spring 提供了强大的任务调度框架,名为Spring Task或者Spring Batch,其中Quartz是一个流行的第三方库,用于实现复杂的定时任务。在本例中,我们使用了QuartzJobBean,这是Spring对Quartz API的一个封装,使得我们...

    Spring实现JavaMail邮件发送功能

    在Java开发中,Spring框架提供了一种方便的方式来实现邮件发送功能。通过集成JavaMailSender接口,我们可以轻松地发送各种类型的电子邮件,包括文本、HTML、附件等。本篇将详细介绍如何利用Spring来实现在Java应用...

    spring实现邮件发送功能+ssm+javamil

    在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...

    java spring 整合 email + quartz

    Java Spring 整合Email与Quartz是一个常见的任务,主要用于实现定时发送邮件的功能。Spring框架提供了强大的集成能力,让我们能够方便地将Quartz定时任务库与Email服务结合,从而实现自动化的工作流。 首先,我们来...

    spring-email .zip

    这个名为"spring-email .zip"的压缩包文件显然包含了一个使用Spring Boot实现电子邮件服务的示例项目。接下来,我们将深入探讨Spring Boot如何处理电子邮件发送功能,并通过这个项目可能包含的文件来解析其工作原理...

    SpringData如何实现查询的代码

    在Repository接口中,可以使用`Pageable`接口来实现这些功能。例如: ```java Page&lt;User&gt; findAll(Pageable pageable); ``` 然后在服务层,可以创建一个`PageRequest`对象来指定页码、大小和排序条件: ```java ...

    spring+mybatis+mysql实现的用户登录功能

    接下来,我们将详细探讨这三个技术如何协同工作以实现用户登录功能。 **Spring框架** Spring是一个全面的Java企业级应用开发框架,它提供了一个强大的依赖注入(DI)容器,用于管理对象的生命周期和配置。在用户...

    Spring实现邮件发送功能

    Spring实现邮件发送功能 Spring框架提供了一个名为JavaMailSender的工具类,以便于实现邮件发送功能。这篇文章将详细介绍如何使用Spring实现邮件发送功能,并提供了相关的配置和代码实现。 Spring 邮件发送功能...

    自定义 SpringBoot-Starter email-spring-boot-starter.zip

    总的来说,"email-spring-boot-starter"简化了Spring Boot应用的邮件发送功能,通过集成Apache Commons Email库,它支持了多种邮件服务提供商,并且允许发送包含附件的邮件。开发者只需要关注邮件的内容和接收者,...

    struts spring 实现简单的邮件发送

    这个项目"struts spring 实现简单的邮件发送"旨在展示如何整合这两个框架来完成邮件发送的功能。 首先,Struts是Apache组织的一个开源项目,它提供了一种模型驱动的方式来构建动态Web应用程序。Struts框架通过控制...

    Spring 发送 Email & FAQ

    本主题将深入探讨Spring框架如何支持发送电子邮件(Email)功能,并解答一些常见的问题(FAQ)。首先,我们来详细了解一下Spring发送Email的核心概念。 1. **Spring的JavaMailSender接口** Spring提供了一个`...

    Spring mvc 发送邮件功能

    在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...

    利用Spring定时发送email

    这个"利用Spring定时发送email"的项目,包含了完整的jar包并经过测试,确保了功能的可行性。下面我们将深入探讨如何在Spring中设置定时发送电子邮件以及相关的关键知识点。 首先,我们需要在Spring的配置文件中启用...

    简单学习使用Spring+Velocity发送邮件

    本教程将围绕如何使用Spring框架与Velocity模板引擎来实现邮件发送功能进行详细讲解。 首先,让我们理解Spring框架的邮件发送服务。Spring提供了`JavaMailSender`接口,该接口提供了发送邮件的基本方法,如`send...

Global site tag (gtag.js) - Google Analytics