src/main/java/com/yssh/controller/EmailController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yssh/service/EmailService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-dev.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-prod.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-test.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/yssh/controller/EmailController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.yssh.controller; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.yssh.service.EmailService; import com.yssh.utils.Result; import com.yssh.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @Api(tags="çµåé®ä»¶") @RestController @RequestMapping("/email") @SuppressWarnings("ALL") public class EmailController { @Resource EmailService emailService; @ApiOperationSupport(order = 1) @GetMapping("/test") @ApiOperation(value = "æµè¯", notes = "æµè¯") public Result text(@RequestParam(value = "title", required = true) String title, @RequestParam(value = "text", required = true) String text) { if (StringUtils.isEmpty(title) || StringUtils.isEmpty(text)) { return Result.error("titleåtextä¸è½ä¸ºç©º"); } Boolean flag = emailService.send(title, text); return Result.OK(flag); } } src/main/java/com/yssh/service/EmailService.java
ÎļþÃû´Ó src/main/java/com/yssh/utils/EmailUtils.java ÐÞ¸Ä @@ -1,8 +1,11 @@ package com.yssh.utils; package com.yssh.service; import com.yssh.utils.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.mail.*; import javax.mail.internet.InternetAddress; @@ -10,12 +13,13 @@ import java.util.Properties; /** * é®ä»¶å·¥å ·ç±» * é®ä»¶æå¡ç±» * * @author www * @date 2024-03-21 */ public class EmailUtils { @Service public class EmailService { @Value("${email.userName}") private String userName; @@ -49,9 +53,9 @@ // å建ä¸ä¸ªé ç½®æä»¶ï¼å¹¶ä¿å Properties props = new Properties(); // SMTPæå¡å¨è¿æ¥ä¿¡æ¯ï¼126âsmtp.126.comï¼163âsmtp.163.comï¼qq-qqsmtp.qq.com" // SMTPæå¡å¨è¿æ¥ä¿¡æ¯ï¼126âsmtp.126.comï¼163âsmtp.163.comï¼qq-smtp.qq.com" props.put("mail.smtp.host", smtpHost); // SMTP主æºå props.put("mail.smtp.port", smtpPort); // 主æºç«¯å£å·ï¼126â25ï¼163â645 props.put("mail.smtp.port", smtpPort); // 主æºç«¯å£å·ï¼126â25ï¼163â645ï¼qq-587 props.put("mail.smtp.auth", smtpAuth); // æ¯å¦éè¦ç¨æ·è®¤è¯ props.put("mail.smtp.starttls.enale", smtpTls); // å¯ç¨TlSå å¯ @@ -68,7 +72,7 @@ return session; } public void send(String title, String text) { public Boolean send(String title, String text) { try { // å建Sessionä¼è¯ Session session = createSession(); @@ -91,8 +95,11 @@ // åé Transport.send(message); return true; } catch (Exception ex) { logger.error(ex.getMessage(), ex); return false; } } } src/main/resources/application-dev.yml
@@ -1,9 +1,9 @@ # çµåé®ä»¶è®¾ç½® email: userName: 252740454 password: smtpHost: qqsmtp.qq.com smtpPort: 25 password: xqyyvhomnvpybgfb smtpHost: smtp.qq.com smtpPort: 587 smtpAuth: true smtpTls: true from: 252740454@qq.com src/main/resources/application-prod.yml
@@ -1,9 +1,9 @@ # çµåé®ä»¶è®¾ç½® email: userName: 252740454 password: smtpHost: qqsmtp.qq.com smtpPort: 25 password: xqyyvhomnvpybgfb smtpHost: smtp.qq.com smtpPort: 587 smtpAuth: true smtpTls: true from: 252740454@qq.com src/main/resources/application-test.yml
@@ -1,9 +1,9 @@ # çµåé®ä»¶è®¾ç½® email: userName: 252740454 password: smtpHost: qqsmtp.qq.com smtpPort: 25 password: xqyyvhomnvpybgfb smtpHost: smtp.qq.com smtpPort: 587 smtpAuth: true smtpTls: true from: 252740454@qq.com