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接收消息项目,即可收到邮件信息