前言:
📢📢📢📣📣📣
初入csdn,一名Java后端学习者,喜欢在交流平台上分享一些自己喜欢的Demo
目前所分享的技术栈为Javaweb之后所运用到的
有喜欢我分享的一些Demo可以多多交流
优快云 市级 原力榜16名
📢📢📢📣📣📣
软件:eclipse霓虹灯版本
项目:JavaWeb项目结构
目录
什么是邮箱
邮箱是什么,邮箱就是通过互联网给朋友发送信息,电子邮件地址如真实生活中人们常用的信件一样,有收信人姓名,收信人地址等等。下面就从三个方面为大家介绍一下电子邮箱。
为什么要使用邮箱
目前我们所用到邮箱是因为:需要用户注册网站时接收验证,我们自动生成4位或者6位验证码发送到用户的邮箱内,用户注册网站需要输入验证码,验证码失效一般都是60秒,在60秒内用户输入验证码之后我们进行一个判断,如果验证码正确则进行下一步,如果失败则重现注册本网站,目前为止是我们为什么要使用邮箱的概论
准备工作:
-
需要到QQ邮箱中心获取授权码(授权码是16位)
-
点击设置
-
-
点击账户
-
-
开启第一个服务,在点击下面的获取授权码
-
-
发送短信,获取授权码之后,不要发给别人,这个授权码下一次获取是获取跟这一次的不一样的
-
-
导入Jar包,这次需要导入的Jar包是:javax.mail.jar包
-
这次我还给大家准备好jar包了,云盘下载
-
链接:
-
提取码:
项目结构:
-
包的创建,这次还是一样,所运用到了JavaWeb项目结构
-
-
jar包的导入
-
接上面图片👆
-
类的实例化:
邮箱类(实体类)
-
主要来做的是创建邮箱
-
链接QQ邮箱服务器
-
编辑标题
-
编辑文本
-
发送邮件
-
package com.wskj.sjz.send; import java.security.GeneralSecurityException; import java.util.Properties; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.util.MailSSLSocketFactory; public class Email { /** * 发送邮件方法 * @param account 账号 * @throws GeneralSecurityException * @throws MessagingException */ public void send(String account) throws GeneralSecurityException, MessagingException{ //链接QQ邮箱服务器 Properties pro = new Properties(); pro.setProperty("mail.transport.protocol", "smtp"); //链接qq服务器,可以修改成网易 pro.setProperty("mail.host", "smtp.qq.com"); pro.setProperty("mail.smtp.auth", "true"); //QQ存在一个特性设置SSL加密 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); pro.put("mail.smtp.ssl.enable", "true"); pro.put("mail.smtp.ssl.socketFactory", sf); //创建一个session对象 Session session = Session.getDefaultInstance(pro, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("你的QQ邮箱","你刚在QQ邮箱获取的授权码"); } }); //开启debug模式 session.setDebug(true); //获取连接对象 Transport transport = session.getTransport(); //连接服务器 transport.connect("smtp.qq.com","你的QQ邮箱","你刚在QQ邮箱获取的授权码"); //创建邮件对象 MimeMessage mimeMessage = new MimeMessage(session); //邮件发送人 mimeMessage.setFrom(new InternetAddress("你的QQ邮箱")); //邮件接收人 这个是目标邮箱,方法参数 mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(account)); //邮件标题 mimeMessage.setSubject("北梦测试邮件发送标题"); //邮件内容 设置编码格式 mimeMessage.setContent("北梦测试邮件发送文本内容","text/html;charset=UTF-8"); System.out.println("邮件发送中"); //发送邮件 transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients()); System.out.println("邮件发送成功"); //关闭连接 transport.close(); } }
测试类
-
测试类里是测试刚刚编写的Email代码
-
整个程序的主入口
-
创建对象
-
调用方法,传入参数
-
处理异常
-
package com.wskj.sjz.test; import java.security.GeneralSecurityException; import javax.mail.MessagingException; import com.wskj.sjz.send.Email; public class Test { public static void main(String[] args) { try { //创建一个email对象 Email email = new Email(); //邮箱测试启动,参数为目标邮箱 email.send("目标邮箱"); } catch (GeneralSecurityException | MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
小结
以上是北梦所分享的使用Java发送邮件,使用此目的是为了在注册一些网站的时候要发送的验证码,后期会使用手机号发送短信验证码,目前所用到的技术仅限于邮箱发送验证码
感谢各位阅读本品文章,关注博主后续继续分享Demo,制作不易,点个赞吧👍