1、创建JavaMailSender对象
@Bean
public JavaMailSender getJavaMailSender() {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.ai-ways.com");
mailSender.setUsername("ai-platform-alert@ai-ways.com");
mailSender.setPassword("alertplatform");
Properties props = mailSender.getJavaMailProperties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl.trust", "smtp.ai-ways.com");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.timeout", 5000);
props.put("mail.smtp.connectiontimeout", 5000);
props.put("mail.debug", true);
return mailSender;
}
2、封装发送对象
@Override
public BaseResult<Boolean> sendEmail(EmailParams emailParams) {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = null;
try {
helper=new MimeMessageHelper(mimeMessage,true, "utf-8");
helper.setTo(emailParams.getTo());
helper.setFrom("ai-platform-alert@ai-ways.com");
helper.setSubject(emailParams.getTitle());
helper.setText(emailParams.getContent(), emailParams.getIsHtml());
javaMailSender.send(mimeMessage);
} catch (MessagingException | MailException e) {
Cat.logError(e);
log.error("发送邮件出错",e);
e.printStackTrace();
return new BaseResult<>(MessageResultCode.EMAIL_ERROR.code(), MessageResultCode.EMAIL_ERROR.message(), Boolean.FALSE);
}
return ResultUtils.success(Boolean.TRUE);
}
@Data
public class EmailParams {
String title;
String[] to;
String content;
Boolean isHtml;
}