You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.xujie.sys.common.utils;
import com.xujie.sys.modules.pms.data.MailSendAddressData;import lombok.extern.slf4j.Slf4j;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;
import jakarta.mail.internet.MimeMessage;import java.util.Arrays;import java.util.Properties;
@Slf4jpublic class MailUtil { public static void sendMail(String textHead, String text, String[] mailAddress, MailSendAddressData mailSendData) { JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost(mailSendData.getHost()); sender.setPort(mailSendData.getPort()); sender.setUsername(mailSendData.getUsername()); sender.setPassword(mailSendData.getPassword()); sender.setDefaultEncoding("Utf-8"); Properties p = new Properties(); p.setProperty("mail.smtp.timeout", mailSendData.getTimeout()); p.setProperty("mail.smtp.auth", "false"); p.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); sender.setJavaMailProperties(p); MimeMessage mimeMessage = sender.createMimeMessage(); // 设置utf-8或GBK编码,否则邮件会有乱码
try { MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); messageHelper.setFrom(mailSendData.getEmailForm(), mailSendData.getPersonal()); messageHelper.setTo(Arrays.stream(mailAddress) .filter(s -> s != null && !s.trim().isEmpty()) .toArray(String[]::new)); messageHelper.setSubject(textHead); // 标题
messageHelper.setText(text, true); sender.send(mimeMessage); log.info(textHead + "通知邮件已发送!收件箱地址:" + Arrays.toString(mailAddress)); } catch (Exception e) { log.info("邮件发送失败!"); } }}
|