From 7f3d3de12130b8256012baa9aa35fe28351c4822 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Tue, 6 Jun 2023 18:13:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E?= =?UTF-8?q?=20=E7=BB=99=E7=B3=BB=E7=BB=9F=E8=B4=9F=E8=B4=A3=E4=BA=BA?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 18 ++++ .../sup/UserRegisterController.java | 8 +- .../api/service/purchase/IEmailService.java | 30 +++++++ .../purchase/impl/EmailServiceImpl.java | 90 +++++++++++++++++++ src/main/resources/application-dev.yml | 19 ++++ 5 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/glxp/api/service/purchase/IEmailService.java create mode 100644 src/main/java/com/glxp/api/service/purchase/impl/EmailServiceImpl.java diff --git a/pom.xml b/pom.xml index b3b3431..6ce2afe 100644 --- a/pom.xml +++ b/pom.xml @@ -375,6 +375,24 @@ org.springframework.boot spring-boot-starter-amqp + + + org.springframework.boot + spring-boot-starter-amqp + + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-freemarker + + + diff --git a/src/main/java/com/glxp/api/controller/sup/UserRegisterController.java b/src/main/java/com/glxp/api/controller/sup/UserRegisterController.java index 36972be..3288383 100644 --- a/src/main/java/com/glxp/api/controller/sup/UserRegisterController.java +++ b/src/main/java/com/glxp/api/controller/sup/UserRegisterController.java @@ -20,6 +20,7 @@ import com.glxp.api.req.auth.loginmobileRequest; import com.glxp.api.req.purchase.certRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.auth.registComPerResponse; +import com.glxp.api.service.purchase.IEmailService; import com.glxp.api.service.sup.*; import com.glxp.api.util.UuidUtils; import org.apache.commons.lang3.StringUtils; @@ -64,6 +65,9 @@ public class UserRegisterController extends BaseController { @Resource private UserCertSetService userCertSetService; + @Resource + private IEmailService iEmailService; + @PostMapping("/admin/auth/register/getCheckcode") @@ -271,12 +275,14 @@ public class UserRegisterController extends BaseController { userPersonEntity.setCreateTime(new Date()); userPersonEntity.setRegisterId(Long.valueOf(registComPerResponse.getId())); userPersonService.insert(userPersonEntity); + //发送邮件 + iEmailService.sendSimpleMail(id.getXemail(),"测试邮箱","账号:"+userName+",密码:"+password); + } //修改注册表中的状态 企业状态 操作表中插入记录 - userCheckEntity.setId(IdUtil.getSnowflakeNextId()); userCheckEntity.setBusinessId(Long.valueOf(registComPerResponse.getUcId())); userCheckEntity.setCreateUser(registComPerResponse.getReviewer()); diff --git a/src/main/java/com/glxp/api/service/purchase/IEmailService.java b/src/main/java/com/glxp/api/service/purchase/IEmailService.java new file mode 100644 index 0000000..9636e80 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/IEmailService.java @@ -0,0 +1,30 @@ +package com.glxp.api.service.purchase; + +import java.util.List; + +/** + * @author : zhangsan + * @date : 2023/6/6 16:33 + * @modyified By : + */ + +import javax.mail.MessagingException; +import java.util.List; + +public interface IEmailService { + + + /** + * 发送简单文本邮件 + */ + void sendSimpleMail(String receiveEmail, String subject, String content); + /** + * 发送HTML格式的邮件 + */ + void sendHtmlMail(String receiveEmail, String subject, String emailContent) throws MessagingException; + /** + * 发送包含附件的邮件 + */ + void sendAttachmentsMail(String receiveEmail, String subject, String emailContent, List filePathList) throws MessagingException; + +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/EmailServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/EmailServiceImpl.java new file mode 100644 index 0000000..a3d94cc --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/EmailServiceImpl.java @@ -0,0 +1,90 @@ +package com.glxp.api.service.purchase.impl; + +import com.glxp.api.service.purchase.IEmailService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.FileSystemResource; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.MimeMessageHelper; +import org.springframework.stereotype.Service; + + +import javax.annotation.Resource; +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; +import java.io.File; +import java.util.List; + +/** + * @author : zhangsan + * @date : 2023/6/6 16:36 + * @modyified By : + */ + +@Service +public class EmailServiceImpl implements IEmailService { + + @Resource + private JavaMailSender mailSender; + + @Value("${spring.mail.username}") + private String fromEmail; + + @Value("${spring.mail.nickname}") + private String nickname; + + + /** + * 发送简单文本邮件 + */ + public void sendSimpleMail(String receiveEmail, String subject, String content) { + SimpleMailMessage message = new SimpleMailMessage(); + message.setFrom(nickname+'<'+fromEmail+'>'); + message.setTo(receiveEmail); + message.setSubject(subject); + message.setText(content); + mailSender.send(message); + } + /** + * 发送Html格式的邮件 + */ + public void sendHtmlMail(String receiveEmail,String subject,String emailContent) throws MessagingException + { + init(receiveEmail, subject, emailContent, mailSender, fromEmail); + } + + + public static void init(String receiveEmail, String subject, String emailContent, JavaMailSender mailSender, String fromEmail) throws MessagingException { + MimeMessage message= mailSender.createMimeMessage(); + MimeMessageHelper helper=new MimeMessageHelper(message,true); + helper.setFrom(fromEmail); + helper.setTo(receiveEmail); + helper.setSubject(subject); + helper.setText(emailContent,true); + mailSender.send(message); + } + + + /** + * 发送包含附件的邮件 + */ + public void sendAttachmentsMail(String receiveEmail, String subject, String emailContent, List filePathList) throws MessagingException { + MimeMessage message = mailSender.createMimeMessage(); + //带附件第二个参数true + MimeMessageHelper helper = new MimeMessageHelper(message, true); + helper.setFrom(fromEmail); + helper.setTo(receiveEmail); + helper.setSubject(subject); + helper.setText(emailContent, true); + //添加附件资源 + for (String item : filePathList) { + FileSystemResource file = new FileSystemResource(new File(item)); + String fileName = item.substring(item.lastIndexOf(File.separator)); + helper.addAttachment(fileName, file); + } + //发送邮件 + mailSender.send(message); + } + + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 7a2c59f..8b65c9e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -41,6 +41,25 @@ spring: virtual-host: / publisher-confirms: false connection-timeout: 15000 + mail: + # QQ邮箱host:smtp.qq.com 163邮箱host:smtp.163.com + host: smtp.qq.com + protocol: smtp + default-encoding: UTF-8 + # 邮箱账号 + username: 1610949092@qq.com + nickname: 高立新鹏 + # 授权码 + password: jkxwxfencqhichfh + smtp: + port: 465 + timeout: 10000 + auth: true + starttls: + enable: true + required: true + defaultEncoding: UTF-8 + ok: http: