二.发送qq邮件功能

一.配置mail依赖

<!--发送邮件-->

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-mail</artifactId>

</dependency>

二.在yml配置发送人信息

      host和port参考下表对应关系,本文选择的是qq邮箱,password为qq发件人申请的qq授权码    

                                   

邮箱类型

服务器地址

端口号

QQ邮箱

smtp.qq.com

465或587

sina邮箱

smtp.sina.cn

465或587

126邮箱

smtp.126.com

465或994

aliyun邮箱

smtp.aliyun.com

465或994

163邮箱

smtp.163.com

465或994

yeah邮箱

smtp.yeah.net

465或994

PS.QQ邮箱申请qq授权码流程

1>登录电脑qq邮箱

  

2>往下翻,开启pop3服务

3>通过验证获取授权码

三.Service层

(1)虚函数

public interface EmailService {
    boolean send(String to,String title,String content);
}

(2)虚函数实现Impl

@Service
public class EmailServiceImpl implements EmailService {
    private static final Logger logger = LoggerFactory.getLogger(EmailService.class);
   // 引入Spring Mail依赖后,会自动装配到IOC容器
    @Autowired(required = false)
    private JavaMailSender javaMailSender;  
   //邮件发送者的qq邮箱
    @Value("${spring.mail.username}")
    private String MAIL_SENDER;
    /**
     *
     * @param to  收件人邮箱
     * @param title  邮件标题
     * @param content  邮件正文
     * @return
     */
    @Override
    public boolean send(String to,String title, String content) {
        boolean flag=false;
        MimeMessage message =javaMailSender.createMimeMessage();
        //判断邮件发送信息是否为空
           Assert.notNull(MAIL_SENDER,"发送人信息不能为空");
           Assert.notNull(to, "收件人信息不能为空");
           Assert.notNull(title, "邮件主题不能为空");
           Assert.notNull(content, "邮件正文不能为空");
        try {
            MimeMessageHelper helper = new MimeMessageHelper(message,true);
            //邮件发件人
            helper.setFrom(MAIL_SENDER);
            //邮件收件人 1或多个
            helper.setTo(to);
            //邮件主题
            helper.setSubject(title);
            //邮件内容
            helper.setText(content,true);
            //邮件发送时间
            helper.setSentDate(new Date());
            //发送邮件
            javaMailSender.send(message);
            flag=true;
            logger.info("发送邮件成功:{}->{}",MAIL_SENDER,to);
        } catch (MessagingException e) {
            logger.error("发送邮件时发生异常!",e);
        }
        return flag;
    }
}

四.Controller层

@RestController
public class EmailController {
    //注入email配置信息实体类
    @Autowired
    private EmailService emailService;
    @RequestMapping("/send")
    public Boolean send(){
        //收件人信息
        String to="收件人的qq邮箱@qq.com";
        //邮件标题
        String title="发送邮件测试";
        //邮件内容
        String content="努力挣钱,加油学习!!!!!!";
        //发送
        boolean flag=emailService.send(to,title,content);
        return flag;
    }
}

五.浏览器调用

      输入自己本地设置的地址调用接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值