Browse Source

fix:mail的功能

370774330@qq.com 5 years ago
parent
commit
1e3122dab7

+ 0 - 1
api/src/main/java/seecoder/devcloud/api/gitlab/impl/GitlabApiImpl.java

@@ -180,7 +180,6 @@ public class GitlabApiImpl implements GitlabApi {
         User user = server.getUserApi().getUser(userId);
         //server.getUserApi().modifyUser(user, password, user.getProjectsLimit());
         server.getUserApi().updateUser(user, password);
-        server.getUserApi().changeCustomAttribute(user, password);
     }
 
     @Override

+ 3 - 1
web/src/main/java/seecoder/devcloud/web/service/impl/user/MailServiceImpl.java

@@ -22,6 +22,7 @@ import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import java.io.UnsupportedEncodingException;
 import java.util.Locale;
+import java.util.concurrent.CompletableFuture;
 
 @Service
 @CommonsLog
@@ -73,12 +74,13 @@ public class MailServiceImpl implements MailService {
 	}
 
 	@Async
-	public void send(String text, String subject,String... to) {
+	public CompletableFuture<Void> send(String text, String subject, String... to) {
 		SimpleMailMessage message = new SimpleMailMessage();
 		message.setFrom(this.from);
 		message.setTo(to);
 		message.setSubject(subject);
 		message.setText(text);
 		mailSender.send(message);
+		return null;
 	}
 }

+ 9 - 1
web/src/main/java/seecoder/devcloud/web/service/user/MailService.java

@@ -2,7 +2,15 @@ package seecoder.devcloud.web.service.user;
 
 import org.springframework.web.servlet.ModelAndView;
 
+import java.util.concurrent.CompletableFuture;
+
 public interface MailService {
 	void send(String to, String personal, String subject, ModelAndView modelAndView);
-	void send(String text, String subject, String ...to);
+
+	/**
+	 * @param text 正文
+	 * @param subject 标题
+	 * @param to 收件人
+	 */
+	CompletableFuture<Void> send(String text, String subject, String ...to);
 }

+ 10 - 1
web/src/main/resources/application-wph.yml

@@ -7,7 +7,16 @@ spring:
   mail:
     host: smtp.qq.com
     username: 370774330@qq.com
-    password: test
+    password: qkoecnzivukvbibi
+    port: 465
+    protocol: smtp
+    properties:
+      mail:
+        smtp:
+          ssl:
+            enable: true
+          socketFactory.class: javax.net.ssl.SSLSocketFactory
+        debug: true
 server:
   port: 8080
 

+ 49 - 0
web/src/test/java/seecoder/devcloud/web/service/user/MailServiceTest.java

@@ -0,0 +1,49 @@
+package seecoder.devcloud.web.service.user;
+
+import org.junit.Assert;
+import org.junit.jupiter.api.Test;
+import org.junit.runner.RunWith;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.mail.javamail.MimeMessageHelper;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.test.context.junit4.SpringRunner;
+import seecoder.devcloud.common.exceptions.ServiceException;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import java.util.concurrent.CompletableFuture;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * @author PuHong Weng
+ * @date 2021/3/3
+ * @description:
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@ComponentScan({"seecoder.devcloud.api","seecoder.devcloud.common","seecoder.devcloud.web"})
+@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
+class MailServiceTest {
+
+    @Autowired
+    MailService mailService;
+
+    @Autowired
+    JavaMailSender javaMailSender;
+    @Test
+    void send() {
+        try {
+            CompletableFuture<Void> result = mailService.send( "你的课程作业","按时","2717718789@qq.com");
+            CompletableFuture.allOf(result).join();
+        } catch (Exception e) {
+            e.printStackTrace();
+            Assert.fail(e.getMessage());
+        }
+    }
+}