springboot整合activemq发送邮件

3 篇文章 0 订阅
1 篇文章 0 订阅

1、在pom.xml中添加依赖包

        <!-- 整合activemq -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.30</version>
        </dependency>
        <!-- 集成发送邮件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

2、创建全局配置文件(application.properties)

spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin
spring.activemq.in-memory=true
spring.activemq.pool.enabled=false
spring.mail.host=smtp.163.com
spring.mail.username=jiefu813@163.com
spring.mail.password=授权码
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.port=465

3、创建测试类(MsgHandler.java)

package com.jeff.receive;

import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import javax.mail.internet.MimeMessage;

@Component
public class MsgHandler {

    @Resource
    private JavaMailSender mailSender;

    @Value("${spring.mail.username}")
    private String systemmail;

    // 使用JmsListener配置消费者监听的队列,其中text是接收到的消息
    @JmsListener(destination = "jeff_queue")
    public void receiveQueue(String text) {
        System.out.println("####消息服务收到的报文为:" + text);
        excute(text);
    }

    public void excute(String json) {
        try {
            JSONObject oj = JSONObject.parseObject(json);
            String loginName = oj.getString("loginName");
            String to = oj.getString("email");
            String msg = "你好啊," + loginName;
            MimeMessage mimeMessage = mailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
            helper.setFrom(systemmail);
            helper.setTo(to);
            helper.setSubject("注册通知!");
            helper.setText(msg, true);
            mailSender.send(mimeMessage);
        } catch (Exception e) {
            System.out.println("发送失败!");
        }
    }

}

4、163邮箱开启POP3/SMTP/IMAP服务

  • 登陆163邮箱,点击设置,选择POP3/SMTP/IMAP
    在这里插入图片描述
  • 勾选POP3/SMTP服务和IMAP/SMTP服务,点击保存
    在这里插入图片描述
  • 点击客户端授权密码,选择开启,如果已授权,可以点击重置授权码
    在这里插入图片描述
    5、启动activemq发送消息项目,并访问http://localhost:8080/user/register
    在这里插入图片描述
    6、启动activemq接收消息项目,即可收到邮件信息
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值