From 29be26207fb0fd5c027ec9458f244b8601d6e3bb Mon Sep 17 00:00:00 2001
From: Hanserwei <2628273921@qq.com>
Date: Mon, 27 Oct 2025 21:25:45 +0800
Subject: [PATCH] =?UTF-8?q?feat(mail):=20=E9=9B=86=E6=88=90=E9=82=AE?=
=?UTF-8?q?=E4=BB=B6=E5=8F=91=E9=80=81=E5=8A=9F=E8=83=BD=E5=B9=B6=E9=85=8D?=
=?UTF-8?q?=E7=BD=AESMTP=E6=9C=8D=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 添加 spring-boot-starter-mail依赖
- 在 application.yml 中配置 SMTP 服务器信息
- 注入 JavaMailSender 并实现消息监听器中的邮件发送逻辑- 设置邮件发送者、接收者、主题及内容
- 使用 RabbitMQ 消息队列触发邮件通知机制
---
pom.xml | 5 +++++
.../chat/consumer/RabbitMQConsumer.java | 17 +++++++++++++++++
.../src/main/resources/config/application.yml | 9 +++++++++
3 files changed, 31 insertions(+)
diff --git a/pom.xml b/pom.xml
index 43bb9ca..6a633c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,6 +91,11 @@
com.fasterxml.jackson.core
jackson-databind
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
diff --git a/snails-chat/src/main/java/com/hanserwei/chat/consumer/RabbitMQConsumer.java b/snails-chat/src/main/java/com/hanserwei/chat/consumer/RabbitMQConsumer.java
index 2fadac3..1c29751 100644
--- a/snails-chat/src/main/java/com/hanserwei/chat/consumer/RabbitMQConsumer.java
+++ b/snails-chat/src/main/java/com/hanserwei/chat/consumer/RabbitMQConsumer.java
@@ -1,8 +1,11 @@
package com.hanserwei.chat.consumer;
+import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets;
@@ -11,10 +14,24 @@ import java.nio.charset.StandardCharsets;
@Component
public class RabbitMQConsumer {
+ @Resource
+ private JavaMailSender mailSender;
+
@RabbitListener(queues = "chat.queue")
public void receiveMessage(Object message) {
String messageText = extractMessage(message);
log.info("Received message text:\n{}", messageText);
+ SimpleMailMessage mailMessage = new SimpleMailMessage();
+ // 配置发送者邮箱
+ mailMessage.setFrom("2628273921@qq.com");
+ // 配置接受者邮箱
+ mailMessage.setTo("ssw010723@gmail.com");
+ // 配置邮件主题
+ mailMessage.setSubject("主题:及时联系客户");
+ // 配置邮件内容
+ mailMessage.setText(messageText);
+ // 发送邮件
+ mailSender.send(mailMessage);
}
private String extractMessage(Object message) {
diff --git a/snails-chat/src/main/resources/config/application.yml b/snails-chat/src/main/resources/config/application.yml
index a4b6d2b..a57c715 100644
--- a/snails-chat/src/main/resources/config/application.yml
+++ b/snails-chat/src/main/resources/config/application.yml
@@ -12,6 +12,15 @@ spring:
jackson:
serialization:
write-dates-as-timestamps: false
+ mail:
+ host: ${MAIL_HOST:smtp.qq.com}
+ port: ${MAIL_PORT:587}
+ username: ${MAIL_USERNAME:2628273921@qq.com}
+ password: ENC(ARrAyZNZhbaG6tebogv6WSQbtCO+Vq93NfSA6tMAiD0tTogujERVwEGBECakH0LUhYq9oTaXgfw7tonxNAFEwg==)
+ properties:
+ mail.smtp.auth: true
+ mail.smtp.starttls.enable: true
+ mail.smtp.starttls.required: true
data:
redis:
host: localhost