|
|
|
@ -0,0 +1,132 @@
|
|
|
|
|
package com.foreverwin.mesnac.common.util;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.extra.mail.MailAccount;
|
|
|
|
|
import cn.hutool.extra.mail.MailUtil;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
|
|
|
|
@Component
|
|
|
|
|
@ConditionalOnProperty(prefix = "mail", name = {"host","from"})
|
|
|
|
|
public class SendMail {
|
|
|
|
|
|
|
|
|
|
@Value("${mail.host}")
|
|
|
|
|
private String host;
|
|
|
|
|
@Value("${mail.from}")
|
|
|
|
|
private String from;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送文本消息
|
|
|
|
|
*
|
|
|
|
|
* @param to 收件地址: 多个地址中间用","或者","分割
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendText(String to, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), to, subject, content, false, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送文本消息
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendText(Collection<String> tos, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, subject, content, false, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送文本消息、抄送
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param ccs 抄送地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendText(Collection<String> tos, Collection<String> ccs, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, ccs, null, subject, content, false, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送文本消息、抄送、暗抄送
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param ccs 抄送地址
|
|
|
|
|
* @param bccs 暗抄送地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendText(Collection<String> tos, Collection<String> ccs, Collection<String> bccs, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, ccs, bccs, subject, content, false, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送HTML格式信息
|
|
|
|
|
*
|
|
|
|
|
* @param to 收件地址: 多个地址中间用","或者","分割
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendHtml(String to, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), to, subject, content, true, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送HTML格式信息
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendHtml(Collection<String> tos, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, subject, content, true, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送HTML格式信息、抄送
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param ccs 抄送地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendHtml(Collection<String> tos, Collection<String> ccs,String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, ccs, null, subject, content, true, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送HTML格式信息、抄送、暗抄送
|
|
|
|
|
*
|
|
|
|
|
* @param tos 收件地址
|
|
|
|
|
* @param ccs 抄送地址
|
|
|
|
|
* @param bccs 暗抄送地址
|
|
|
|
|
* @param subject 主题
|
|
|
|
|
* @param content 内容
|
|
|
|
|
* @param files 附件
|
|
|
|
|
*/
|
|
|
|
|
public void sendHtml(Collection<String> tos, Collection<String> ccs, Collection<String> bccs, String subject, String content, File... files) {
|
|
|
|
|
MailUtil.send(getMailAccount(), tos, ccs, bccs, subject, content, true, files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private MailAccount getMailAccount() {
|
|
|
|
|
MailAccount mailAccount = new MailAccount();
|
|
|
|
|
mailAccount.setHost(host);
|
|
|
|
|
mailAccount.setFrom(from);
|
|
|
|
|
|
|
|
|
|
return mailAccount;
|
|
|
|
|
}
|
|
|
|
|
}
|