电子协议
常用的电子邮件协议有
- SMTP
- POP3
- IMAP4
以上都隶属于TCP/IP协议簇
默认状态下,分别通过TCP端口25、110和143建立连接
其实一般每个提供电子邮件服务的网站都有自己的 SMTP 和 POP 服务器地址
登录你的电子邮件网站就可以找到它 一般是在帮助里面
POP3
POP3(邮局通讯协定)
用在传送电子邮件
邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件
当收信人收信的时候,必须通过 POP 通讯协定,才能取得邮件
SMTP
SMTP(简易邮件传输通讯协议)
用来传送网络上的电子邮件
SMTP 负责邮件服务器与邮件服务器之间的寄信
集成mail
引入jar包
<!-- mail -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- mail -->
配置发送邮箱信息
######################邮件相关##################
# SMTP服务器地址
spring.mail.host=smtp.qq.com
# SMTP服务器端口号 默认-1
# spring.mail.port=-1
# 发送方帐号
spring.mail.username=1908711045@qq.com
# 发送方密码(授权码)
spring.mail.password=awpkocnlwuoddbdj
#javaMailProperties 配置
# 开启用户身份验证
spring.mail.properties.mail.smtp.auth=true
# STARTTLS:一种通信协议,具体可以搜索下
#spring.mail.properties.mail.smtp.starttls.enable=true
#spring.mail.properties.mail.smtp.starttls.required=true
使用
package cn.gd.cz.hong.springbootlearn.service.impl;
import cn.gd.cz.hong.springbootlearn.service.MailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
* 实现发送邮件
*/
@Service
public class MailServiceImpl implements MailService {
@Resource
private JavaMailSender mailSender;
@PostConstruct
public void init() {
sendText("spring学习中");
}
@Override
public void sendText(String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("1908711045@qq.com");
message.setTo("m15220004896@163.com");
message.setSubject("test");
message.setText(content);
mailSender.send(message);
}
}
mail不仅可以发送文本 还可以发送附件 HTML 甚至可以用freemaker制作模板
网友评论