邮件API

This commit is contained in:
2025-11-08 13:52:23 +08:00
parent bf80d491ab
commit a8417415e5
304 changed files with 831 additions and 7222 deletions

View File

@@ -1,23 +0,0 @@
package com.mini.capi.config;
import com.mini.capi.biz.domain.DbConfig;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
public class DataSourceConfig {
public static DataSource createDataSource(DbConfig dbConfig) {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(dbConfig.getDriverClass());
dataSource.setUrl(dbConfig.getUrlTemplate());
dataSource.setUsername(dbConfig.getLinkUsername());
dataSource.setPassword(dbConfig.getLinkPassword());
return dataSource;
}
public static JdbcTemplate createJdbcTemplate(DbConfig dbConfig) {
return new JdbcTemplate(createDataSource(dbConfig));
}
}

View File

@@ -1,69 +0,0 @@
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()
);
}
});
}
}