邮件API
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user