发送邮件
1.邮箱设置
- 启动客户端SMTP服务
- 选择的是新浪邮箱
2.Spring Email
-1.导入jar包
-
jar包下载网站https://mvnrepository.com/repos/aliyun-releases
这是Maven的依赖 -
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.1.5.RELEASE</version> </dependency>
-2 . 邮箱参数设置
-
#MailProperties #域名是什么 spring.mail.host=smtp.sina.com #端口,基本上所有邮箱的默认端口都是465 spring.mail.port=465 #邮箱账号 spring.mail.username=ziqi0327@sina.com #这里不是邮箱密码,而是访问授权码,我就不写我的了 spring.mail.password=***** #邮箱协议 stms - 安全协议 - 加密的 spring.mail.protocol=smtps #发送邮件的安全连接 spring.mail.properties.mail.smtp.ssl.enable=true
-3. 使用JavaMailSender发送邮件
JavaMail发送邮件的核心就是JavaMailSender组件
写一个工具类封装邮箱设置
@Component
public class MailClient {
private static final Logger logger = LoggerFactory.getLogger(MailClient.class);
/**
* JavaMailSender也是Spring容器管理的bean对象
* 直接注入JavaMailSender对象
*/
@Autowired
private JavaMailSender mailSender;
//发件人
@Value("${spring.mail.username}")
private String from;
/**
* 发送邮件
* @param to 邮件发给谁
* @param subject 邮件标题
* @param content 邮件内容
*/
public void sendMail(String to, String subject, String content){
try{
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content,true);
mailSender.send(helper.getMimeMessage());
}catch(MessagingException e){
logger.error("发送邮件失败" + e.getMessage());
}
}
}
test测试运行
@SpringBootTest
@RunWith(SpringRunner.class)
@ContextConfiguration