feat(邮件): 综合邮件发送
This commit is contained in:
parent
54870bd180
commit
f6c3ee10f2
|
@ -28,6 +28,10 @@
|
||||||
<artifactId>jaxb-api</artifactId>
|
<artifactId>jaxb-api</artifactId>
|
||||||
<version>2.1</version>
|
<version>2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-mail</artifactId>
|
||||||
|
</dependency>
|
||||||
<!-- 数据库代码生成器 - 新版 -->
|
<!-- 数据库代码生成器 - 新版 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.common.email.utils;
|
package cn.bunny.common.utils;
|
||||||
|
|
||||||
import cn.bunny.entity.email.EmailSend;
|
import cn.bunny.entity.email.EmailSend;
|
||||||
import cn.bunny.entity.email.EmailSendInit;
|
import cn.bunny.entity.email.EmailSendInit;
|
||||||
|
@ -11,14 +11,14 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class MailSender {
|
public class MailSenderHelper {
|
||||||
private final String username;
|
private final String username;
|
||||||
private final JavaMailSenderImpl javaMailSender;
|
private final JavaMailSenderImpl javaMailSender;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化构造函数进行当前类赋值
|
* 初始化构造函数进行当前类赋值
|
||||||
*/
|
*/
|
||||||
public MailSender(EmailSendInit emailSendInit) {
|
public MailSenderHelper(EmailSendInit emailSendInit) {
|
||||||
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
|
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
|
||||||
javaMailSender.setHost(emailSendInit.getHost());
|
javaMailSender.setHost(emailSendInit.getHost());
|
||||||
javaMailSender.setPort(emailSendInit.getPort());
|
javaMailSender.setPort(emailSendInit.getPort());
|
||||||
|
@ -127,4 +127,33 @@ public class MailSender {
|
||||||
// 发送邮件
|
// 发送邮件
|
||||||
javaMailSender.send(message);
|
javaMailSender.send(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 综合邮箱发送
|
||||||
|
*
|
||||||
|
* @param emailSend 邮件消息
|
||||||
|
*/
|
||||||
|
public void sendEmail(EmailSend emailSend) throws MessagingException {
|
||||||
|
// 创建 MimeMessage 对象用于发送邮件富文本或者附件
|
||||||
|
MimeMessage message = javaMailSender.createMimeMessage();
|
||||||
|
// 创建 MimeMessageHelper
|
||||||
|
MimeMessageHelper helper = new MimeMessageHelper(message, true);
|
||||||
|
|
||||||
|
// 设置发送人
|
||||||
|
helper.setFrom(username);
|
||||||
|
// 设置邮件接受者
|
||||||
|
helper.setTo(emailSend.getSendTo());
|
||||||
|
// 设置邮件主题
|
||||||
|
helper.setSubject(emailSend.getSubject());
|
||||||
|
// 设置发送消息 为富文本
|
||||||
|
helper.setText(emailSend.getMessage(), emailSend.getIsRichText());
|
||||||
|
// 设置抄送人
|
||||||
|
helper.setCc(emailSend.getCcParam().split(","));
|
||||||
|
// 邮件添加附件
|
||||||
|
MultipartFile file = emailSend.getFile();
|
||||||
|
helper.addAttachment(Objects.requireNonNull(file.getOriginalFilename()), file);
|
||||||
|
|
||||||
|
// 发送邮件
|
||||||
|
javaMailSender.send(message);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -15,7 +15,6 @@
|
||||||
<module>service-utils</module>
|
<module>service-utils</module>
|
||||||
<module>common-utils</module>
|
<module>common-utils</module>
|
||||||
<module>spring-security</module>
|
<module>spring-security</module>
|
||||||
<module>service-mail</module>
|
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>cn.bunny</groupId>
|
|
||||||
<artifactId>common</artifactId>
|
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>service-mail</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<name>service-mail</name>
|
|
||||||
<url>https://maven.apache.org</url>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<!-- 邮箱 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-mail</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.bunny</groupId>
|
|
||||||
<artifactId>service-utils</artifactId>
|
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</project>
|
|
|
@ -1,4 +0,0 @@
|
||||||
package cn.bunny.common.email.config;
|
|
||||||
|
|
||||||
public class EmailConfig {
|
|
||||||
}
|
|
|
@ -4,17 +4,23 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class EmailSend {
|
public class EmailSend {
|
||||||
|
// 给谁发送
|
||||||
private String sendTo;
|
private String sendTo;
|
||||||
|
// 发送主题
|
||||||
private String subject;
|
private String subject;
|
||||||
|
// 是否为富文本
|
||||||
|
private Boolean isRichText;
|
||||||
|
// 发送内容
|
||||||
private String message;
|
private String message;
|
||||||
|
// 抄送人
|
||||||
private String ccParam;
|
private String ccParam;
|
||||||
private File file;
|
// 发送的文件
|
||||||
|
private MultipartFile file;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,11 +25,6 @@
|
||||||
<artifactId>spring-security</artifactId>
|
<artifactId>spring-security</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>cn.bunny</groupId>
|
|
||||||
<artifactId>service-mail</artifactId>
|
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- service-utils -->
|
<!-- service-utils -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.bunny</groupId>
|
<groupId>cn.bunny</groupId>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package cn.bunny.service.service.impl;
|
package cn.bunny.service.service.impl;
|
||||||
|
|
||||||
import cn.bunny.common.email.utils.MailSender;
|
import cn.bunny.common.utils.MailSenderHelper;
|
||||||
import cn.bunny.entity.email.EmailSend;
|
import cn.bunny.entity.email.EmailSend;
|
||||||
import cn.bunny.entity.email.EmailSendInit;
|
import cn.bunny.entity.email.EmailSendInit;
|
||||||
import cn.bunny.service.service.EmailService;
|
import cn.bunny.service.service.EmailService;
|
||||||
|
@ -25,8 +25,8 @@ public class EmailServiceImpl implements EmailService {
|
||||||
emailSendInit.setPort(465);
|
emailSendInit.setPort(465);
|
||||||
emailSendInit.setUsername("3324855376@qq.com");
|
emailSendInit.setUsername("3324855376@qq.com");
|
||||||
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
||||||
MailSender mailSender = new MailSender(emailSendInit);
|
MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit);
|
||||||
mailSender.sendSimpleEmail(emailSend);
|
mailSenderHelper.sendSimpleEmail(emailSend);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,8 +44,8 @@ public class EmailServiceImpl implements EmailService {
|
||||||
emailSendInit.setUsername("3324855376@qq.com");
|
emailSendInit.setUsername("3324855376@qq.com");
|
||||||
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
||||||
|
|
||||||
MailSender mailSender = new MailSender(emailSendInit);
|
MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit);
|
||||||
mailSender.sendAttachmentEmail(emailSend, file, true);
|
mailSenderHelper.sendAttachmentEmail(emailSend, file, true);
|
||||||
return true;
|
return true;
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -67,8 +67,8 @@ public class EmailServiceImpl implements EmailService {
|
||||||
emailSendInit.setUsername("3324855376@qq.com");
|
emailSendInit.setUsername("3324855376@qq.com");
|
||||||
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
||||||
|
|
||||||
MailSender mailSender = new MailSender(emailSendInit);
|
MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit);
|
||||||
mailSender.sendRichText(emailSend, true);
|
mailSenderHelper.sendRichText(emailSend, true);
|
||||||
return true;
|
return true;
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -89,8 +89,8 @@ public class EmailServiceImpl implements EmailService {
|
||||||
emailSendInit.setUsername("3324855376@qq.com");
|
emailSendInit.setUsername("3324855376@qq.com");
|
||||||
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
emailSendInit.setPassword("axyqbvfuxkdqdaai");
|
||||||
|
|
||||||
MailSender mailSender = new MailSender(emailSendInit);
|
MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit);
|
||||||
mailSender.sendCC(emailSend, true);
|
mailSenderHelper.sendCC(emailSend, true);
|
||||||
return true;
|
return true;
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue