内嵌查询代替LEFT JOIN导致的重复问题以及修改邮件不能发送图片和附件的问题
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
package com.ruoyi.oa.config;
|
||||
|
||||
import com.ruoyi.oa.domain.OaEmailAccount;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* 动态邮件配置类
|
||||
* 支持根据不同的邮箱账号动态配置邮件发送器
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Configuration
|
||||
public class DynamicMailConfig {
|
||||
|
||||
/**
|
||||
* 根据邮箱账号创建JavaMailSender
|
||||
*
|
||||
* @param account 邮箱账号信息
|
||||
* @return JavaMailSender
|
||||
*/
|
||||
public JavaMailSender createMailSender(OaEmailAccount account) {
|
||||
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
|
||||
|
||||
// 设置SMTP服务器
|
||||
mailSender.setHost(account.getSmtpHost());
|
||||
mailSender.setPort(account.getSmtpPort() == null ? 465 : account.getSmtpPort().intValue());
|
||||
mailSender.setUsername(account.getEmail());
|
||||
mailSender.setPassword(account.getPassword());
|
||||
|
||||
// 设置邮件属性
|
||||
Properties props = mailSender.getJavaMailProperties();
|
||||
props.put("mail.transport.protocol", "smtp");
|
||||
props.put("mail.smtp.auth", "true");
|
||||
props.put("mail.smtp.starttls.enable", "true");
|
||||
props.put("mail.smtp.ssl.enable", "true");
|
||||
props.put("mail.smtp.connectiontimeout", "10000");
|
||||
props.put("mail.smtp.timeout", "10000");
|
||||
props.put("mail.smtp.writetimeout", "10000");
|
||||
props.put("mail.debug", "false");
|
||||
|
||||
return mailSender;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据邮箱类型获取默认配置
|
||||
*
|
||||
* @param type 邮箱类型 0=网易 1=QQ 2=阿里云 3=飞书
|
||||
* @return 默认配置
|
||||
*/
|
||||
public OaEmailAccount getDefaultConfig(int type) {
|
||||
OaEmailAccount config = new OaEmailAccount();
|
||||
|
||||
switch (type) {
|
||||
case 0: // 网易邮箱
|
||||
config.setSmtpHost("smtp.163.com");
|
||||
config.setSmtpPort(465L);
|
||||
break;
|
||||
case 1: // QQ邮箱
|
||||
config.setSmtpHost("smtp.qq.com");
|
||||
config.setSmtpPort(465L);
|
||||
break;
|
||||
case 2: // 阿里云邮箱
|
||||
config.setSmtpHost("smtp.aliyun.com");
|
||||
config.setSmtpPort(465L);
|
||||
break;
|
||||
case 3: // 飞书邮箱
|
||||
config.setSmtpHost("smtp.feishu.cn");
|
||||
config.setSmtpPort(465L);
|
||||
break;
|
||||
default:
|
||||
config.setSmtpHost("smtp.163.com");
|
||||
config.setSmtpPort(465L);
|
||||
break;
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user