您的位置:首页 > 编程语言 > Java开发

SpringBoot 邮件发送

2018-09-28 17:36 459 查看

文本发送

1.  首先POM文件中要添加的

[code]		<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>2.0.2-beta</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.8.16</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>1.8.16</version>
<scope>test</scope>
</dependency>

2.  在配置文件 application中添加邮件发送的详细信息:

  • host中文意思就是“简单邮件传送协议服务器”,我使用的是qq邮箱smtp,根据不同的邮箱进行修改
  • username是发件人邮箱
  • password这里不是指你的邮箱密码,而是邮箱的授权码,可以去邮箱账户页面去获取授权码
[code]  # 设置邮件发送的详细信息
spring:
mail:
host: smtp.qq.com
username: 123456@qq.com
password: imzpwzupyamghhfa
default-encoding: UTF-8

3. 去写一个service的方法,参数注释在里面已经写清楚了。

[code]package com.dapeng.nb.service;

import org.springframework.beans.factory.annotation.Value;

public interface MailService {
/**
*  测试邮件发送
*/

/**
*
* @param to 接收人
* @param subject 主题
* @param content 内容
*/
public void sendSimpleMail(String to,String subject,String content);
}

 4. 实现里面 from便是我们在application里面定义的发件人邮箱

[code]package com.dapeng.nb.service.impl;

import com.dapeng.nb.service.MailService;
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;

@Service
public class MailServiceImpl implements MailService {

@Value("${spring.mail.username}")
private String from;

@Autowired
private JavaMailSender mailSender;

@Override
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);//接收人
message.setSubject(subject);
message.setText(content);
message.setFrom(from);//发送人
mailSender.send(message);
}
}

 5.新建一个测试类,运行该测试方法,去查看接受邮箱是否有新的邮件

启动如果报503的话,便是你的授权码写错了!

[code]package com.dapeng.nb;

import com.dapeng.nb.service.MailService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MailTest {

@Resource
MailService mailService;

@Test
public void sendSimpleMailTest(){
String to = "654321@qq.com";
String subject = "测试邮件";
String text = "123";
mailService.sendSimpleMail(to,subject,text);
}
}
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: