简单的说,就是端口不能访问,阿里云服务器屏蔽了25端口,用587就可以
上代码:
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置:
spring.mail.default-encoding=UTF-8
spring.mail.host=smtp.qq.com
spring.mail.username=你的邮箱账号
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.properties.mail.smtp.port=587
代码(不想写接口,随便用吧,见笑):
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.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
/**
* @author CqLiu
* @create 2020-11-27 17:01
*/
@Service
public class QQMailService {
@Autowired
private JavaMailSender mailSender;
@Value("${mail.fromMail.addr}")
private String from;
public void simple(String to,String title,String txt){
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom(from);//发送者
msg.setTo(to);//接收者
msg.setSubject(title);//标题
msg.setText(txt);//内容
mailSender.send(msg);
}
public void html(String to,String title,String doc){
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom(from);//发送人
helper.setTo(to);//接收人
helper.setSubject(title);//标题
helper.setText(doc, true);//发送的内容
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}