|
@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.system.service.mail;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
|
|
-import cn.iocoder.yudao.module.system.convert.mail.MailAccountConvert;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
@@ -12,13 +11,12 @@ import cn.iocoder.yudao.module.system.mq.producer.mail.MailProducer;
|
|
|
import cn.iocoder.yudao.module.system.service.member.MemberService;
|
|
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
import com.google.common.annotations.VisibleForTesting;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.dromara.hutool.extra.mail.MailAccount;
|
|
|
-import org.dromara.hutool.extra.mail.MailUtil;
|
|
|
+import org.dromara.hutool.extra.mail.*;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
-import jakarta.annotation.Resource;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
@@ -105,7 +103,7 @@ public class MailSendServiceImpl implements MailSendService {
|
|
|
public void doSendMail(MailSendMessage message) {
|
|
|
// 1. 创建发送账号
|
|
|
MailAccountDO account = validateMailAccount(message.getAccountId());
|
|
|
- MailAccount mailAccount = MailAccountConvert.INSTANCE.convert(account, message.getNickname());
|
|
|
+ MailAccount mailAccount = buildMailAccount(account, message.getNickname());
|
|
|
// 2. 发送邮件
|
|
|
try {
|
|
|
String messageId = MailUtil.send(mailAccount, message.getMail(),
|
|
@@ -118,6 +116,13 @@ public class MailSendServiceImpl implements MailSendService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private MailAccount buildMailAccount(MailAccountDO account, String nickname) {
|
|
|
+ String from = StrUtil.isNotEmpty(nickname) ? nickname + " <" + account.getMail() + ">" : account.getMail();
|
|
|
+ return new MailAccount().setFrom(from).setAuth(true)
|
|
|
+ .setUser(account.getUsername()).setPass(account.getPassword().toCharArray())
|
|
|
+ .setHost(account.getHost()).setPort(account.getPort()).setSslEnable(account.getSslEnable());
|
|
|
+ }
|
|
|
+
|
|
|
@VisibleForTesting
|
|
|
MailTemplateDO validateMailTemplate(String templateCode) {
|
|
|
// 获得邮件模板。考虑到效率,从缓存中获取
|