博主最近想实现注册登录功能,需要发验证码,一开始想用手机验证码,后来研究了半天发现需要营业执照才能发,之后博主就改为用QQ邮箱来发送验证码,用qq邮箱发验证码没有像手机验证码有那么多限制,接下来就给大家讲讲如何实现这个功能:
1.首先,打开发件人的qq邮箱(就是你要给别人发邮件的那个qq)
找到账户
往下开启第一个pop3服务
点击保存
2.下面就是我的详细代码,大家直接拿去用就行,每句代码我都注释了,一些地方稍微改改就行
Properties properties = new Properties();
properties.put("mail.transport.protocol", "smtp");// 连接协议
properties.put("mail.smtp.host", "smtp.qq.com");// 主机名
properties.put("mail.smtp.port", "465");// 端口号
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接 ---一般都使用
properties.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息
//得到回话对象
Session session = Session.getInstance(properties);
// 获取邮件对象
Message message = new MimeMessage(session);
//设置发件人邮箱地址
message.setFrom(new InternetAddress("这里改为发件人邮箱"));
//设置收件人地址
message.setRecipients(RecipientType.TO,new InternetAddress[] { new InternetAddress("收件人邮箱") });
//设置邮件标题
message.setSubject("Java测试邮件");//此处为邮件标题,课自行改
//设置邮件内容
message.setText("内容为: 邮件。");//此处为邮件内容课自行改
//得到邮差对象
Transport transport = session.getTransport();
//连接自己的邮箱账户
transport.connect("发件人邮箱", "授权码");//密码为刚才得到的授权码
//发送邮件
transport.sendMessage(message, message.getAllRecipients());
大家需要下一个mail.jar 包,完成之后运行代码就可以发送邮件了~
大家要是学会了就点个赞支持宝宝一下啦