//源生发送html 邮件
@Autowired
private JavaMailSender mailSender;
/**
* 发送html邮件
*
* @param to 发送的用户邮箱
* @param subject 标题
* @param content 正文
*/
@Override
public void sendHtmlMail(String to, String subject, String content) {
Properties props = new Properties();
props.put("mail.smtp.auth", auth);
props.put("mail.smtp.starttls.enable", enable);
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", post);
final String userName = username;
final String passWord = password;
Session session = Session.getDefaultInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, passWord);
}
});
MimeMessage message = new MimeMessage(session);
Transport transport = null;
try {
transport = session.getTransport();
InternetAddress addressFrom = null;
try {
addressFrom = new InternetAddress(username);
try {
message.setSender(addressFrom);
message.setSubject(subject);
message.setContent(content, "text/html;charset=gb2312");
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
transport.connect();
Transport.send(message);
transport.close();
} catch (AddressException e) {
e.printStackTrace();
}
} catch (NoSuchProviderException e) {
e.printStackTrace();
}
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
在用gmail 发送邮件的时候发现 spring-boot 的
<!--邮件包 基础包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
发送gmail 发送失败 经过判断需要写 源生的邮件发送才不会报587链接超时 下面是application配置文件
mail:
host: smtp.gmail.com
port: 587
username: [email protected]
password: epsfpxoeqbbwcyug
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true