From 594eb23979a396d1dec0f0b3ff72e3feb51b8d06 Mon Sep 17 00:00:00 2001 From: Wonder Date: Tue, 7 Oct 2025 22:50:59 +0800 Subject: [PATCH] =?UTF-8?q?=20=E2=9C=A8Feat:=20=E5=A2=9E=E5=8A=A0=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=82=AE=E4=BB=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/.gitignore | 38 ++++++++++++++++++ backend/pom.xml | 40 +++++++++++++++++++ .../hezhaohui/mail/SendMailApplication.java | 14 +++++++ .../cn/hezhaohui/mail/config/MailConfig.java | 31 ++++++++++++++ .../hezhaohui/mail/service/MailService.java | 22 ++++++++++ .../mail/service/MailServiceTest.java | 17 ++++++++ 6 files changed, 162 insertions(+) create mode 100644 backend/.gitignore create mode 100644 backend/pom.xml create mode 100644 backend/src/main/java/cn/hezhaohui/mail/SendMailApplication.java create mode 100644 backend/src/main/java/cn/hezhaohui/mail/config/MailConfig.java create mode 100644 backend/src/main/java/cn/hezhaohui/mail/service/MailService.java create mode 100644 backend/src/test/java/cn/hezhaohui/mail/service/MailServiceTest.java diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/backend/pom.xml b/backend/pom.xml new file mode 100644 index 0000000..e8594f3 --- /dev/null +++ b/backend/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + cn.hezhaohui + backend + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 3.3.1 + + + + 21 + 21 + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-test + + + + \ No newline at end of file diff --git a/backend/src/main/java/cn/hezhaohui/mail/SendMailApplication.java b/backend/src/main/java/cn/hezhaohui/mail/SendMailApplication.java new file mode 100644 index 0000000..51a5795 --- /dev/null +++ b/backend/src/main/java/cn/hezhaohui/mail/SendMailApplication.java @@ -0,0 +1,14 @@ +package cn.hezhaohui.mail; + +import cn.hezhaohui.mail.service.MailService; +import jakarta.annotation.Resource; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SendMailApplication { + + public static void main(String[] args) { + SpringApplication.run(SendMailApplication.class, args); + } +} diff --git a/backend/src/main/java/cn/hezhaohui/mail/config/MailConfig.java b/backend/src/main/java/cn/hezhaohui/mail/config/MailConfig.java new file mode 100644 index 0000000..1c3d15d --- /dev/null +++ b/backend/src/main/java/cn/hezhaohui/mail/config/MailConfig.java @@ -0,0 +1,31 @@ +package cn.hezhaohui.mail.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.JavaMailSenderImpl; + +import java.util.Properties; + +@Configuration +public class MailConfig { + + @Bean + public JavaMailSender getJavaMailSender() { + JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); + mailSender.setHost("smtp.163.com"); + mailSender.setPort(465); + + mailSender.setUsername("hezhaohui0807@163.com"); + mailSender.setPassword("AMaauzQZQMnkSfZi"); + + Properties properties = mailSender.getJavaMailProperties(); + properties.put("mail.transport.protocol", "smtp"); + properties.put("mail.smtp.auth", "true"); + properties.put("mail.smtp.ssl.enable", "true"); + properties.put("mail.smtp.starttls.enable", "true"); + properties.put("mail.debug", "true"); + + return mailSender; + } +} diff --git a/backend/src/main/java/cn/hezhaohui/mail/service/MailService.java b/backend/src/main/java/cn/hezhaohui/mail/service/MailService.java new file mode 100644 index 0000000..0cdcafc --- /dev/null +++ b/backend/src/main/java/cn/hezhaohui/mail/service/MailService.java @@ -0,0 +1,22 @@ +package cn.hezhaohui.mail.service; + +import jakarta.annotation.Resource; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.stereotype.Service; + +@Service +public class MailService { + + @Resource + private JavaMailSender emailSender; + + public void sendMessage(String to, String subject, String text) { + SimpleMailMessage message = new SimpleMailMessage(); + message.setFrom("hezhaohui0807@163.com"); + message.setTo(to); + message.setSubject(subject); + message.setText(text); + emailSender.send(message); + } +} diff --git a/backend/src/test/java/cn/hezhaohui/mail/service/MailServiceTest.java b/backend/src/test/java/cn/hezhaohui/mail/service/MailServiceTest.java new file mode 100644 index 0000000..65cf706 --- /dev/null +++ b/backend/src/test/java/cn/hezhaohui/mail/service/MailServiceTest.java @@ -0,0 +1,17 @@ +package cn.hezhaohui.mail.service; + +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class MailServiceTest { + + @Resource + private MailService mailService; + + @Test + void sendMessage() { + mailService.sendMessage("2311719626@qq.com", "你好", "Test"); + } +} \ No newline at end of file