04. springboot集成email

1、pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.goldwind</groupId>
	<artifactId>04WebMail</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>04WebMail</name>
	<url>http://maven.apache.org</url>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.3.RELEASE</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		<thymeleaf.version>3.0.0.RELEASE</thymeleaf.version>
		<thymeleaf-layout-dialect.version>2.0.0</thymeleaf-layout-dialect.version>
	</properties>

	<dependencies>
		<!-- springboot启动包 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 引入thymeleaf依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

		<!-- 单元测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- 添加devtools依赖,用于热部署 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
			<scope>true</scope>
		</dependency>

		<!-- mail依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<!-- 这是spring boot devtool plugin -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!-- fork: 如果没有该配置,devtools不会起作用 -->
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

2、编写src/main/resources/application.properties

#spring.thymeleaf.prefix=classpath:/templates/
#spring.thymeleaf.suffix=.html
#spring.thymeleaf.mode=HTML5
#spring.thymeleaf.encoding=UTF-8
# ;charset=<encoding> is added
#spring.thymeleaf.content-type=text/html 
# set to false for hot refresh
spring.thymeleaf.cache=false 

spring.mail.host=smtp.126.com
spring.mail.username=***@***.com
spring.mail.password=
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
注意更换spring.mail.username与spring.mail.password的值,分别为发送者的邮件用户名和密码

3、编写src/main/resources/templates/mail.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
    <head>
        <title>Hello World!</title>
    </head>
    <body>
        <h1 th:inline="text">发送邮件</h1>
         
        <form action="/sendMail" method="post">
        	<p>
        		mail title:<input type="text" name="title"/>
        	</p>
        	
        	<p>
        		<input type="submit" value="提交"/>
        	</p>
        </form>
    </body>
</html>

4、编写App.java

package org.goldwind;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        System.err.println( "Hello World!" );
        SpringApplication.run(App.class, args);
    }
}

5、编写Controller

package org.goldwind.controller;

import org.goldwind.service.MailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author 葛楠 E-mail:[email protected]
 * @version 创建时间:2017年6月1日 上午9:14:44 类说明
 */
@Controller
public class MailController {

	@Autowired
	private MailService mailService;

	@RequestMapping("/mail")
	public String mail() {
		return "mail";
	}

	private String to = "[email protected]";

	@RequestMapping("/sendMail")
	public @ResponseBody String sendMail(@RequestParam String title) {
		System.out.println("__________________" + title);
		mailService.sendSimpleMail(to, title, title);
		return "success";
	}

}

注意替换[email protected]为收件人地址


6、编写Service

package org.goldwind.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

/**
* @author 葛楠 	E-mail:[email protected]
* @version 创建时间:2017年5月31日 下午5:38:37
* 类说明
*/
@Service
public class MailService {

	@Value("${spring.mail.username}")
	private String from;
	
	@Autowired
	private JavaMailSender sender;
	
	public void sendSimpleMail(String to, String subject, String content) {
		SimpleMailMessage message = new SimpleMailMessage();
		message.setFrom(from);
		message.setTo(to);
		message.setSubject(subject);
		message.setText(content);
		
		sender.send(message);
		System.out.println("=============send success!");
	}
	
}
















猜你喜欢

转载自blog.csdn.net/gn1992/article/details/78422102