初始化前端目录

This commit is contained in:
2025-09-22 22:16:27 +08:00
parent 52e94288df
commit 69d559a920
23 changed files with 854 additions and 741 deletions

View File

@@ -0,0 +1,69 @@
package com.mini.capi.config;
import com.mini.capi.biz.domain.MailAccount;
import javax.mail.Session;
import java.util.Properties;
public class JavaMailConfig {
/**
* 构建IMAP Session用于接收邮件
*/
public static Session createImapSession(MailAccount account) {
Properties props = new Properties();
// IMAP基础配置
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.host", account.getHost());
props.setProperty("mail.imap.port", account.getImapPort().toString());
// SSL配置
if (Boolean.TRUE.equals(account.getSslEnable())) {
props.setProperty("mail.imap.ssl.enable", "true");
props.setProperty("mail.imap.ssl.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
}
// 超时配置
props.setProperty("mail.imap.connectiontimeout", "5000");
props.setProperty("mail.imap.timeout", "5000");
// 创建Session带认证
return Session.getInstance(props, new javax.mail.Authenticator() {
@Override
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(
account.getUsername(),
account.getPassword()
);
}
});
}
/**
* 构建SMTP Session用于发送邮件
*/
public static Session createSmtpSession(MailAccount account) {
Properties props = new Properties();
// SMTP基础配置
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.host", account.getHost());
props.setProperty("mail.smtp.port", account.getSmtpPort().toString());
// 认证和SSL配置
props.setProperty("mail.smtp.auth", "true"); // 必须开启认证
if (Boolean.TRUE.equals(account.getSslEnable())) {
props.setProperty("mail.smtp.ssl.enable", "true");
props.setProperty("mail.smtp.ssl.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
}
// 超时配置
props.setProperty("mail.smtp.connectiontimeout", "5000");
props.setProperty("mail.smtp.timeout", "5000");
// 创建Session带认证
return Session.getInstance(props, new javax.mail.Authenticator() {
@Override
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(
account.getUsername(),
account.getPassword()
);
}
});
}
}

View File

@@ -0,0 +1,25 @@
package com.mini.capi.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.*;
@Configuration
public class ThreadPoolConfig {
/**
* 附件处理线程池核心线程2最大线程5队列100空闲60s回收
*/
@Bean("attachmentThreadPool")
public ExecutorService attachmentThreadPool() {
return new ThreadPoolExecutor(
2,
5,
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(100),
Executors.defaultThreadFactory(),
new ThreadPoolExecutor.AbortPolicy() // 队列满时拒绝策略(可根据需求调整)
);
}
}