第一步添加mail的依赖

<!--引入mail的依赖  -->
		<dependency>
			<groupid>org.springframework.boot</groupid>
			<artifactid>spring-boot-starter-mail</artifactid>
		</dependency>

第二步编写邮箱的

yml配置文件

spring:
  #邮箱配置
  mail:
    host: smtp.qq.com
    username: 2631245486@qq.com
    #qq邮箱的授权码
    password: 授权码
    default-encoding: utf-8
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true

properties的配置文件

#qq邮箱配置
# javamailsender 邮件发送的配置
spring.mail.host=smtp.qq.com
spring.mail.username=用户qq邮箱
#qq邮箱的授权码
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.default-encoding=utf-8

#163邮箱配置
spring.mail.host=smtp.163.com
spring.mail.username=用户163邮箱
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.default-encoding=utf-8

编写两个发送邮件的接口

package www.it.com.server;

import java.io.file;

/**
* @author wangjie:
* @version 创建时间:2019年8月27日 上午10:13:08
* @description 类描述:
*/
public interface mailserver {
	/**
	 * @param senduser 邮件接收人 
	 * @param title 邮件的标题 
	 * @param text  邮件的内容
	 */
	void sendmailserver(string senduser,string title,string text);
	
	
	/**
	 * 带有附件邮箱的发送
	 * @param senduser
	 * @param title
	 * @param text
	 * @param file
	 */
	void sendfilemail(string senduser,string title,string text,file file);
}

接口的实现

package www.it.com.server.impl;

import java.io.file;

import javax.mail.messagingexception;
import javax.mail.internet.mimemessage;

import org.apache.logging.log4j.message.simplemessage;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.beans.factory.annotation.value;
import org.springframework.core.io.filesystemresource;
import org.springframework.mail.simplemailmessage;
import org.springframework.mail.javamail.javamailsender;
import org.springframework.mail.javamail.mimemessagehelper;
import org.springframework.stereotype.service;

import www.it.com.server.mailserver;

/**
* @author wangjie:
* @version 创建时间:2019年8月27日 上午10:13:58
* @description 类描述:
*/
@service
public class mailserverimpl implements mailserver {
	
	@value("${spring.mail.username}")
	private string fromuser;
	
	@autowired
    private javamailsender javamailsender;
	
	public string getfromuser() {
		return fromuser;
	}


	public void setfromuser(string fromuser) {
		this.fromuser = fromuser;
	}


	@override
	public void sendmailserver(string senduser, string title, string text) {
		//创建邮件的实体 用于封装发送邮件需要的信息
		simplemailmessage simplemailmessage=new  simplemailmessage();
		//邮件的发送人
		simplemailmessage.setfrom(fromuser);
		//邮件接收人
		simplemailmessage.setto(senduser);
		//邮件的标题
		simplemailmessage.setsubject(title);
		//邮件的内容
		simplemailmessage.settext(text);
		//发送邮件
	    javamailsender.send(simplemailmessage);
	}


	@override
	public void sendfilemail(string senduser, string title, string text, file file) {
		
		mimemessage mimemessage = null;
		
		try {
			mimemessage =javamailsender.createmimemessage();
			//创建mimemessagehelper对象用于处理带有附件的邮件信息
			mimemessagehelper mimemessagehelper=new mimemessagehelper(mimemessage,true);
			mimemessagehelper.setfrom(fromuser);
			mimemessagehelper.setto(senduser);
			mimemessagehelper.setsubject(title);
			mimemessagehelper.settext(text);
			filesystemresource r = new filesystemresource(file);
			//添加附件
			mimemessagehelper.addattachment("附件", r);
			javamailsender.send(mimemessage);
		} catch (messagingexception e) {
			// todo auto-generated catch block
			e.printstacktrace();
		}
	}

}

controller编码

package www.it.com.controller;

import java.io.file;

import org.springframework.beans.factory.annotation.autowired;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;

import www.it.com.server.mailserver;

/**
 * @author wangjie:
 * @version 创建时间:2019年8月27日 上午9:52:30
 * @description 类描述:邮件发送的controller
 */

@restcontroller()
@requestmapping("/mail")
public class mailcontroller {
   
	@autowired
	private mailserver mailserver;
	
	/**
	 * 简单邮件的发送
	 * @return
	 */
	@requestmapping("/send")
	public string sendmail() {
		//2694433816
		mailserver.sendmailserver("2631245486@qq.com", "你好", "明天去你家玩");
		return "success";
	}
	
	
	/**
	 * 发送带有附件的邮件
	 */
	@requestmapping("/sendfile")
	public string sendfilemail() {
		file file=new file("c://users//dell//desktop//学习资料.txt");
		mailserver.sendfilemail("2631245486@qq.com", "你好dsf", "这是第二封带有附件的邮件", file);
		return "success";
	}
}

授权码生成的步骤

登录邮箱选择设置

选择账户

滑动到下面开启相应的服务 选择生成授权码

到此这篇关于springboot整合mail实现邮箱的发送功能的文章就介绍到这了,更多相关springboot整合mail邮箱发送内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!