java实现邮件发送

1、导入依赖

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.4</version>
        </dependency>

2、在网易邮箱申请账号,打开设置开启POP3/SMTP获取秘钥

3、邮件发送业务功能实现

    @Override
    public boolean sendEmail(EmailContentDTO dto) {
        SysUser StudentDetail = sysUserMapper.selectById(dto.getStudentId());
        if (StringUtils.isEmpty(StudentDetail.getEmail())) {
            throw new RuntimeException("未找到用户邮箱!");
        }
        Properties props = new Properties();
        props.setProperty("mail.smtp.host", "smtp.163.com");
        props.put("mail.smtp.host", "smtp.163.com");
        props.put("mail.smtp.auth", "true");
        Authenticator auth = new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                //发送人邮箱账号跟POP3秘钥
                return new PasswordAuthentication("XXXXX", "XXXXXXXX");
            }
        };
        Session session = Session.getInstance(props, auth);

        Message message = new MimeMessage(session);
        try {
        	//发送人邮件号
            message.setFrom(new InternetAddress("XXXXX@163.com"));
            //接收人邮箱
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(StudentDetail.getEmail()));
            //标题
            message.setSubject(dto.getTitle());
            //内容
            message.setContent(dto.getContent(), "text/html;charset=utf-8");
            Transport.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值