123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.qrservice.admin.util;
- import com.qrservice.admin.config.MailConfig;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.mail.javamail.JavaMailSender;
- import org.springframework.mail.javamail.MimeMessageHelper;
- import javax.mail.MessagingException;
- import javax.mail.internet.MimeMessage;
- import java.io.File;
- import java.io.UnsupportedEncodingException;
- /**
- * Created by lei
- * Date 2020/9/25.
- */
- @Slf4j
- public class EmailUtils {
- private static JavaMailSender mailSender = SpringUtil.getBean(JavaMailSender.class);
- private static MailConfig config = SpringUtil.getBean(MailConfig.class);
- static {
- System.setProperty("mail.mime.splitlongparameters","false");
- }
- /**
- * 发送简单的html邮件
- * @param subject 主题
- * @param content 内容
- * @param to 发给谁
- * @param cc 抄送
- */
- public static void sendSimpleHtmlMail(String subject, String content,String to,String[] cc) {
- MimeMessage mimeMessage = null;
- try {
- mimeMessage = mailSender.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true,"UTF-8");
- messageHelper.setFrom(config.getUsername()); //设置发件人Email
- messageHelper.setSubject(subject); //设置邮件主题
- messageHelper.setText(content,true); //设置邮件主题内容
- messageHelper.setTo(to); //设定收件人Email
- if(cc != null){
- messageHelper.setCc(cc); //设定抄送人
- }
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- mailSender.send(mimeMessage); //发送HTML邮件
- }
- /**
- * 发送带有附件的邮件
- * @param subject 主题
- * @param content 内容
- * @param to 收件人
- * @param cc 抄送人
- * @param filePaths 文件路径
- */
- public static void sendAnnexMail(String subject, String content, String to, String [] cc, String [] filePaths) throws MessagingException, UnsupportedEncodingException {
- MimeMessage mimeMessage = mailSender.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true,"UTF-8");
- messageHelper.setFrom(config.getUsername()); //设置发件人Email
- messageHelper.setSubject(config.getSubjectenv()+subject); //设置邮件主题
- messageHelper.setText(content,true); //设置邮件主题内容
- messageHelper.setTo(to); //设定收件人Email
- if(cc != null){
- messageHelper.setCc(cc); //设定抄送人
- }
- for (String filePath : filePaths) {
- messageHelper.addAttachment(filePath.substring(filePath.lastIndexOf(File
- .separator)+1),new File(filePath));
- }
- mailSender.send(mimeMessage); //发送HTML邮件
- }
- public static void sendErrorHtmlMail(Exception e,String transDate, String to, String[] cc) {
- StackTraceElement[] stackTrace = e.getStackTrace();
- StackTraceElement element = stackTrace[0];
- EmailUtils.sendSimpleHtmlMail("清算异常",
- "交易日期:"+transDate+"<br>错误类型:"+e.toString()+",错误地址:"+element,to,null);
- }
- }
|