ソースを参照

邮件发送功能

Althars123 2 年 前
コミット
8cb0a9ae0e

+ 49 - 0
sdjk-admin/src/main/java/com/miaxis/app/controller/email/EmailController.java

@@ -0,0 +1,49 @@
+package com.miaxis.app.controller.email;
+
+import com.miaxis.common.annotation.Log;
+import com.miaxis.common.constant.Constants;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.common.core.page.ResponsePageInfo;
+import com.miaxis.common.enums.BusinessTypeEnum;
+import com.miaxis.common.utils.SecurityUtils;
+import com.miaxis.email.service.IEmailService;
+import com.miaxis.score.domain.ScoreInfo;
+import com.miaxis.score.dto.ScoreInfoAllDTO;
+import com.miaxis.score.dto.ScoreInfoDTO;
+import com.miaxis.score.service.IScoreInfoService;
+import io.swagger.annotations.*;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 【模拟考成绩】Controller
+ *
+ * @author miaxis
+ * @date 2021-08-23
+ */
+@RestController
+@RequestMapping(Constants.STUDENT_PREFIX+"/email/info")
+@Api(tags={"【app-发送邮件】"})
+public class EmailController extends BaseController{
+    @Autowired
+    private IEmailService emailService;
+
+
+    /**
+     * 新增模拟考成绩
+     */
+    @PostMapping
+    @ApiOperation("新增邮件")
+    public Response add(String address) throws Exception {
+
+        emailService.sendEmail(address);
+
+        return Response.success();
+    }
+
+}

+ 19 - 0
sdjk-admin/src/main/resources/application-dev.yml

@@ -80,6 +80,25 @@ spring:
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
                 max-wait: -1ms
 
+    mail:
+        # 配置 SMTP 服务器地址
+        host: smtp.163.com
+        # 发送者邮箱
+        username: miaxis2022@163.com
+        # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
+        password: MNSJPUNHYXDIHTGF
+        # 端口号465或587
+        port: 25
+        # 默认的邮件编码为UTF-8
+        default-encoding: UTF-8
+        # 配置SSL 加密工厂
+        properties:
+            mail:
+                smtp:
+                    socketFactoryClass: javax.net.ssl.SSLSocketFactory
+                #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
+                debug: true
+
 # 微信支付app端
 app:
     appId: wxc439503456129660

+ 19 - 0
sdjk-admin/src/main/resources/application-prod.yml

@@ -78,6 +78,25 @@ spring:
                 max-active: 8
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
                 max-wait: -1ms
+    mail:
+        # 配置 SMTP 服务器地址
+        host: smtp.163.com
+        # 发送者邮箱
+        username: miaxis2022@163.com
+        # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
+        password: MNSJPUNHYXDIHTGF
+        # 端口号465或587
+        port: 25
+        # 默认的邮件编码为UTF-8
+        default-encoding: UTF-8
+        # 配置SSL 加密工厂
+        properties:
+            mail:
+                smtp:
+                    socketFactoryClass: javax.net.ssl.SSLSocketFactory
+                #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
+                debug: true
+
 
 
 # 微信支付app端

+ 19 - 0
sdjk-admin/src/main/resources/application-prodtest.yml

@@ -79,6 +79,25 @@ spring:
                 max-active: 8
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
                 max-wait: -1ms
+    mail:
+        # 配置 SMTP 服务器地址
+        host: smtp.163.com
+        # 发送者邮箱
+        username: miaxis2022@163.com
+        # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
+        password: MNSJPUNHYXDIHTGF
+        # 端口号465或587
+        port: 25
+        # 默认的邮件编码为UTF-8
+        default-encoding: UTF-8
+        # 配置SSL 加密工厂
+        properties:
+            mail:
+                smtp:
+                    socketFactoryClass: javax.net.ssl.SSLSocketFactory
+                #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
+                debug: true
+
 
 
 # 微信支付app端

+ 6 - 0
sdjk-common/pom.xml

@@ -152,6 +152,12 @@
             <version>5.6.38</version>
         </dependency>
 
+        <!--email-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-mail</artifactId>
+        </dependency>
+
         <!--腾讯云sdk依赖,排除log4j依赖,解决与框架中logback的冲突-->
         <dependency>
             <groupId>com.qcloud</groupId>

+ 6 - 0
sdjk-service/src/main/java/com/miaxis/email/service/IEmailService.java

@@ -0,0 +1,6 @@
+package com.miaxis.email.service;
+
+public interface IEmailService {
+
+    void sendEmail(String address) throws Exception;
+}

+ 39 - 0
sdjk-service/src/main/java/com/miaxis/email/service/impl/EmailServiceImpl.java

@@ -0,0 +1,39 @@
+package com.miaxis.email.service.impl;
+
+import com.miaxis.email.service.IEmailService;
+import com.miaxis.system.service.ISysConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.mail.javamail.MimeMessageHelper;
+import org.springframework.stereotype.Service;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import java.util.Date;
+
+
+@Service
+public class EmailServiceImpl implements IEmailService {
+
+    @Autowired
+    JavaMailSender javaMailSender;
+    @Autowired
+    private ISysConfigService configService;
+    @Override
+    public void sendEmail(String address) throws Exception{
+        MimeMessage mailMessage=javaMailSender.createMimeMessage();
+        //需要借助Helper类
+        MimeMessageHelper helper=new MimeMessageHelper(mailMessage);
+        String context=configService.selectConfigByKey("email_content");;
+        helper.setFrom("miaxis2022@163.com");
+        helper.setTo(address);
+        //helper.setBcc("密送人");
+        helper.setSubject("【速达驾考】资料下载");
+        helper.setSentDate(new Date());//发送时间
+        helper.setText(context,true);
+        //第一个参数要发送的内容,第二个参数是不是Html格式。
+        javaMailSender.send(mailMessage);
+    }
+}