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