发送邮件

发送邮件,配置

需要引入依赖:

<!-- 发送邮件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

 

复制代码
spring.mail.default-encoding=UTF-8
#ping smtp.qq.com
spring.mail.host=14.18.245.164
#发送者的邮箱权限密码,// 授权密码,非登录密码,QQ个人邮箱是 开启SMTP时QQ给的授权码;开启stmp时,163的授权码,目前需要自己设定。阿里云登录邮箱 登录密码可以使用
spring.mail.password=pdmlxeelgttjiiai
#端口
#spring.mail.port=25
#协议
spring.mail.protocol=smtp
#发送者的邮箱账号
spring.mail.username=1593612833@qq.com
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
#考虑到默认端口25可能在Linux上没有开通
spring.mail.port=465
spring.mail.properties.mail.smtp.socketFactory.port=465
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback=false
复制代码

发送邮件方法:

复制代码
package com.example.demo.rocketmq;

import java.util.Properties;

import org.apache.logging.log4j.util.PropertiesUtil;
import org.java_websocket.WebSocket;
import org.java_websocket.WebSocket.READYSTATE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

import com.example.demo.configs.MsgWebSocketClient;


/**
 * @author author:zel
 * @date 2019年3月27日 下午4:47:48
 * 
 */
@Service
public class ConsumerService {
    private static final Logger logger = LoggerFactory.getLogger(ConsumerService.class);
    
    @Autowired
    private JavaMailSender mailSender; //框架自带的
    
    /**
     * 发送邮件方法
     * @param title
     * @param text
     * @param email
     * @return
     */
    public boolean sendEmail(String title, String text, String email){
            //建立邮件消息
            SimpleMailMessage mainMessage = new SimpleMailMessage();
            //发送者 配置里有
            mainMessage.setFrom("1593612833@qq.com");
            //接收者
            mainMessage.setTo(email);
            //发送的标题
            mainMessage.setSubject(title);
            //发送的内容
            mainMessage.setText(text);
            mailSender.send(mainMessage);
            return true;
    }
    /**
     * 发送消息给买家接口
     * @throws InterruptedException 
     */
    public void sendToBuyerMsg(String sendBuyerJson) throws Exception {
        MsgWebSocketClient instance = MsgWebSocketClient.getInstance();
            logger.info("instance:"+instance+"发送json内容"+sendBuyerJson);
//        if (instance.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
//            logger.info("连接还没有断开"+instance.getReadyState()+","+WebSocket.READYSTATE.OPEN);//NOT_YET_CONNECTED
//        }
//        else {
//            logger.info("连接断开了mq监听jianting");
             //instance = MsgWebSocketClient.getInstance();
//        }
        
//        if (readyState.equals(WebSocket.READYSTATE.OPEN)) {
//            logger.info("连接还没有断开"+readyState+","+WebSocket.READYSTATE.OPEN);//NOT_YET_CONNECTED
//        }else {
//            logger.info("连接已断开!");
//             String websocketUrl = (String) com.example.demo.utils.PropertiesUtil.getByKey("websocketUrl");
//            instance = new MsgWebSocketClient(websocketUrl);
//            instance.connect();
//        }
        logger.info("发送旺旺消息给买家");
        //回复消息内容格式{"loginuser":"卖家用户名","buyernick":"买家用户名","content":"消息内容","type":"MQHandAnswer"}
        instance.send(sendBuyerJson);
    }
    public void sendSSMToBuyerMsg(String string) {
        logger.info("发送短信消息给买家消息json:"+string);
    }
}
复制代码

参考:https://www.cnblogs.com/yuhuashang-edward/p/10076217.html

 

本文作者:好Wu赖

本文链接:https://www.cnblogs.com/erlongxizhu-03/p/11089946.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   好Wu赖  阅读(159)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起