前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QQ授权,接收代码发送的电子邮件

QQ授权,接收代码发送的电子邮件

作者头像
发布2020-10-23 10:43:42
1.5K0
发布2020-10-23 10:43:42
举报
文章被收录于专栏:后端JavaEE后端JavaEE

1.代码(两处修改自己的QQ+授权码),授权码开启权限后获取

代码语言:javascript
复制
package com.itqf.Utils;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.net.Inet4Address;
import java.util.Properties;

/*
 * 1.首先需要获取发送邮件的Session对象
 * 	Session session = Session.getDefaultInstance(Properties prop)
 * 2.使用session对象 获取待发送的邮件信息
 *  MimeMessage mime = new MimeMessage(session)
 * 3.设置发件人 收件人 标题 邮件内容 附件 发送时间等等
 * 4.利用Transport 发送邮件
 * */
public class EmailUtils {
    public static void sendEmail(String title,String content,String receiveAccount){
        String  myAccount = "45641321@qq.com";
        //发件人 邮箱的 SMTP 服务器地址
        //String SMTPHost = "smtp.163.com";//163
        String SMTPHost = "smtp.qq.com";//qq
        //组成 properties
        Properties prop = new Properties();
        prop.setProperty("mail.transport.protocol", "smtp");//设置协议类型
        prop.setProperty("mail.smtp.host", SMTPHost);//定义发件人的邮箱服务器地址
        prop.setProperty("mail.smtp.auth", "true");//设置请求验证
        //1.Session对象 创建会话 用于和邮箱服务器进行交互
        Session session = Session.getDefaultInstance(prop);
        //设置debug模式 可以查看详细发送信息 可略
        session.setDebug(true);

        //2.创建方法 用来组成一封完整的邮件
        //参数 session(参数配置), myAccount 发送方 , user.getEmail() 接收方
        //使用session对象 获取待发送的邮件信息
        MimeMessage message = new MimeMessage(session);
        //3.设置发件人 收件人 标题 邮件内容 附件 发送时间等等
        try {
            //3.1发件人 from
            message.setFrom(new InternetAddress(myAccount, "小米", "utf-8"));
            //3.2收件人 to 支持可以添加多个收件人 | 抄送 | 密送 如果想要发送给多个人 可以重复下面代码多次
            /*
             * MimeMessage.RecipientType.TO 发送
             * MimeMessage.RecipientType.CC 抄送
             * MimeMessage.RecipientType.BCC 密送
             * */
            message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveAccount,  "utf-8"));
            //3.3生成邮件主题
            message.setSubject(title,"utf-8");
            String ip = Inet4Address.getLocalHost().getHostAddress();//本机ip地址
            //www.xiaomi.com
            //String url = "http://"+ip+":8080/activate?c=");
            //设置邮件正文 setContent 可以使用html标签
            message.setText(content);
            //设置邮件的发送时间 是立即发送
            //message.setSentDate(new Date());
            //保存设置
            message.saveChanges();
            //4.利用Transport 发送邮件

            Transport tran = session.getTransport();
            //连接服务器 确认发送方 是否授权
            tran.connect(myAccount,"nltwugqrfgxmbjhg" );
            //发送邮件 将message 对象 传给 Transport 对象 将邮件发送出去
            //参数1 要发的内容 参数2 要给哪些人发
            //message.getAllRecipients() 获取到所有的收件人 | 抄送 | 密送
            tran.sendMessage(message, message.getAllRecipients());
            //关闭连接
            tran.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public  static  void  main(String[]args){
        sendEmail("哈喽","你好","156564123@qq.com");


    }


}

2.开启权限(1条0.1¥)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.代码(两处修改自己的QQ+授权码),授权码开启权限后获取
  • 2.开启权限(1条0.1¥)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档