JavaWeb实现qq邮箱验证(一)
需求:用户注册时给邮箱发送邮件,得到验证码并填写,进行激活邮箱。
有基础的可以直接看下篇
JavaWeb实现qq邮箱验证(二):https://blog.csdn.net/BlackPlus28/article/details/85114001
首先一步一步来写,这篇是以java简单的发送邮件
一、设置发件人的邮箱和密码等
// 下面需要补充的是,你自己的邮箱和授权码还有收件人邮箱。// 发件人的邮箱public static String emailAccount = "xxxxxxxxx";// 发件人邮箱密码(有的是授权码)public static String emailPassword = "xxxxxxxxx";// 发件人邮箱服务地址(这里以qq邮箱为例) 网易是:smtp.163.compublic static String emailSMTPHost = "smtp.qq.com";// 收件人邮箱public static String receiveMailAccount = "xxxxxxxxx";
java邮箱的授权码去哪找,看下图(已经开启的直接跳过),直接开启即可。网易同样道理。为什么我使用qq邮箱,没使用网易,下篇发送邮件再说。
二、创建一封邮件(发件人、收件人、邮件内容)
/*** @param session* @param sendMail* @param receiveMail* @param html* @throws MessagingException* @throws IOException * cc:抄送、 Bcc:密送、 To:发送*/public static MimeMessage creatMimeMessage(Session session,String sendMail,String receiveMail,String html) throws MessagingException, IOException {// 1、创建一封邮件对象MimeMessage message = new MimeMessage(session);// 2、From:发件人message.setFrom(new InternetAddress(sendMail, "发件人昵称", "UTF-8"));// 3、To:收件人(可以增加多个收件人:抄送或者密送)message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "张三", "UTF-8"));// 4、Subject:邮件主题message.setSubject("邮箱验证","UTF-8");// 5、Content:邮件正文(可以使用Html标签)message.setContent("邮箱验证","text/html;charset=UTF-8");// 6、设置发送时间message.setSentDate(new Date());// 7、保存设置message.saveChanges();// 8、将该邮件保存在本地OutputStream out = new FileOutputStream("D://MyEmail" + UUID.randomUUID().toString() + ".eml");message.writeTo(out);out.flush();out.close();return message;}
三、发送邮件
// javaMail邮件发送public static void main(String[] args) {try {// 1、创建参数配置,用于连接邮箱服务器的参数配置Properties props = new Properties();// 开启debug调试props.setProperty("mail.debug", "true");// 发送服务器需要身份验证props.setProperty("mail.smtp.auth", "true");// 设置右键服务器的主机名props.setProperty("mail.host", emailSMTPHost);// 发送邮件协议名称props.setProperty("mail.transport.protocol", "smtp");// 2、根据配置创建会话对象,用于和邮件服务器交互Session session = Session.getInstance(props);// 设置debug,可以查看详细的发送logsession.setDebug(true);// 3、创建一封邮件MimeMessage message = creatMimeMessage(session, emailAccount, receiveMailAccount, " ");// 4、根据session获取邮件传输对象Transport transport = session.getTransport();// 5、使用邮箱账号和密码连接邮箱服务器emailAccount必须与message中的发件人邮箱一致,否则报错transport.connect(emailAccount,emailPassword);// 6、发送邮件,发送所有收件人地址transport.sendMessage(message, message.getAllRecipients());// 7、关闭连接transport.close();} catch (UnsupportedEncodingException | MessagingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
效果图展示:
到这里,通过java发送qq邮件就已经完成了。
这个只是java版本的,后面我会把这个封装起来,做成javaUtils,javaWeb项目可以直接使用。上面会涉及到发送邮箱的jar包,我放到下面的链接里。快去测试一下你的Demo。
邮箱注册进阶篇(封装成工具类):https://blog.csdn.net/BlackPlus28/article/details/85114001
JavaWeb实现qq邮箱验证(二):https://blog.csdn.net/BlackPlus28/article/details/85114001
JavaWeb实现qq邮箱验证(一)相关推荐
- javaWeb实现qq邮箱验证(二)
上篇写的实现基本上是一个工具类,并没封装成下图这样方式(梨视频注册界面),现在开始完善上篇的java邮箱激活验证功. java邮箱验证地址:https://blog.csdn.net/BlackPlu ...
- (手机,qq,QQ邮箱验证格式)正则表达式
//手机格式String NUM=scanner1.next();boo=NUM.matches("^1[3456789]\\d{3,9}$");if (boo==false){S ...
- java实现邮箱验证QQ邮箱验证和Foxmail验证
这两天公司要求做个Android端邮箱认证,android端还是很简单的,主要难点在后台链接邮箱并发送邮件. 思路:android端传送邮箱地址给后台,后台获取邮箱地址后,链接公司邮箱,并发送验证码邮 ...
- Java实现QQ邮箱验证
对于新手来说,qq邮箱短信验证是最佳选择啦,之前写了一个在本地测试ok但是到了服务器就不行了,今天就随便分享一下 前台js: $("#sendidcode").click(func ...
- dz邮箱验证怎么设置_如何设置discuz qq邮箱验证
展开全部 1.进入管理中心32313133353236313431303231363533e59b9ee7ad9431333335306166--全局--注册与访问-注册,新用户注册验证 选择:Ema ...
- Springboot进行qq邮箱验证
一.前提准备 1.在qq邮箱中打开POP3/SMTP服务 步骤:点击qq邮箱--->设置--->账户--->向下滑找到POP3/SMTP服务--->开启并用手机发送验证码 -- ...
- Java实现QQ邮箱验证激活 Java简单发送邮箱
Java简单发送邮箱 1.首先要去qq邮箱 设置–账户–把所有服务都开启 (记住其中任意一个授权码就OK了) 如下图: 2. 导入jar包 创建测试类 (复制即可) 如下: package testE ...
- javaweb实现qq邮箱
一.效果图 我用的foxmail来接受的邮件的,你可以安装,也可以选择不安装 二.需要 1.mail.jar包 2.你需要开启你的qq邮箱 https://service.mail.qq.com/cg ...
- java发送qq邮箱验证_JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)
JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...
最新文章
- 阿里2018营收2502亿元,云计算业务增幅超100%
- 软件质量保证与测试文档怎么写,软件质量保证与测试整理版.pdf
- windows10下安装Linux7,win10Hyper-V下安装CentOS7
- linux grep命令详解_Linux 上USB 调试神器lsusb命令详解
- 图网络中的社群及社群发现算法
- linux下的Tomcat启动
- LINQ学习中需要明确的几点问题
- UI设计干货素材|动效导航,漂亮的悬停动效
- mysql ibdata1 损坏_mysql innodb文件ibdata1损坏导致mysql无法启动
- 【洛谷】P1111 修复公路
- Javaspring 1-6课 基本概念及第一个Javaspring程序
- java类装载器原理
- Perl结合飞信发送免费的天气预报信息
- 那个清华哈佛双料女学霸, 辞职了
- 【三维路径规划】基于matlab蚁群算法无人机三维路径规划【含Matlab源码 1278期】
- java微信测单删,免费查微信单删软件有哪些(推荐靠谱查单删APP)
- Python3之日志模板
- java 物联网 云计算_传智播客Java JavaEE+物联网云计算 就业班
- TQ2440之内核3.15.6移植
- Ubuntu下tar命令使用详解 .tar解压、.tar压缩
热门文章
- ls: .: Operation not permitted
- 北外2010年同等学力英语考前辅导
- 解密微信域名防封API接口实现原理
- 如何培养一个人敏锐的判断力
- 网站流量统计开源工具
- python后端学习(十四)元类、ORM
- 抽象类abstract中调用方法
- 津津有味对“阿斯巴甜代糖可能致癌”新闻的观点
- TCP 的演化史-byte stream 和 packet
- 数学三次方的计算机符号,重磅!2019年无纸化考试操作:数学公式、符号要这样输!要想及格,考前至少学3遍!...