Spring Boot 使用JavaMailSenderImpl 发送邮件
package cn.com.weisoft.baseclient.utils;
import cn.com.weisoft.baseclient.entity.Attachment;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.Properties;
public class EmailUtil {
private int connectionTimeout = 5000;//连接超时时间
private int smtpTimeout = 3000;
private int writeTimeout = 10000;
private boolean ttlsEnable = true;
private boolean ttlsRequired = true;
private boolean smtpAuth = true;
public boolean SendMail(String stmpServer, int stmpPort, String fromEmail, String fromNickname, String fromPass, String toEmail, String emailSubject, String emailBody) {
boolean flag = false;
try {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setDefaultEncoding("utf-8");
javaMailSender.setHost(stmpServer); // 设置邮箱服务器
javaMailSender.setPort(stmpPort); // 设置端口
javaMailSender.setUsername(fromEmail); // 设置用户名
javaMailSender.setPassword(fromPass); // 设置密码(记得替换为你实际的密码、授权码)
javaMailSender.setProtocol("smtps"); // 设置协议
Properties properties = new Properties(); // 配置项
properties.put("mail.smtp.connectiontimeout", connectionTimeout);
properties.put("mail.smtp.timeout", smtpTimeout);
properties.put("mail.smtp.writetimeout", writeTimeout);
properties.put("mail.smtp.auth", smtpAuth);
properties.put("mail.smtp.starttls.enable", ttlsEnable);
properties.put("mail.smtp.starttls.required", ttlsRequired);
javaMailSender.setJavaMailProperties(properties); // 设置配置项
// 创建一个邮件消息
MimeMessage message = javaMailSender.createMimeMessage();
// 创建 MimeMessageHelper
MimeMessageHelper helper = new MimeMessageHelper(message, false);
// 发件人邮箱和名称
helper.setFrom(fromEmail, fromNickname);
// 收件人邮箱
helper.setTo(toEmail);
// 邮件标题
helper.setSubject(emailSubject);
// 邮件正文,第二个参数表示是否是HTML正文
helper.setText(emailBody, true);
// 发送
javaMailSender.send(message);
flag = true;
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}
//发送邮件
public boolean SendEMail(String smtpServer, int smtpPort, String fromEmail, String fromPass, String nickName, String toEmail, String subject, String content, boolean isHtml) {
boolean result = false;
try {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setDefaultEncoding("utf-8");
javaMailSender.setHost(smtpServer); // 设置邮箱服务器
javaMailSender.setPort(smtpPort); // 设置端口
javaMailSender.setUsername(fromEmail); // 设置用户名
javaMailSender.setPassword(fromPass); // 设置密码(记得替换为你实际的密码、授权码)
javaMailSender.setProtocol("smtps"); // 设置协议
Properties properties = new Properties(); // 配置项
properties.put("mail.smtp.connectiontimeout", connectionTimeout);
properties.put("mail.smtp.timeout", smtpTimeout);
properties.put("mail.smtp.writetimeout", writeTimeout);
properties.put("mail.smtp.auth", smtpAuth);
properties.put("mail.smtp.starttls.enable", ttlsEnable);
properties.put("mail.smtp.starttls.required", ttlsRequired);
javaMailSender.setJavaMailProperties(properties); // 设置配置项
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, false);
helper.setFrom(fromEmail, nickName);
helper.setTo(toEmail);
helper.se...