Java实现自动发送电子邮件 发送邮件验证码(附全部源码) 您所在的位置:网站首页 电子邮件验证码发送在哪里查看 Java实现自动发送电子邮件 发送邮件验证码(附全部源码)

Java实现自动发送电子邮件 发送邮件验证码(附全部源码)

2024-07-16 21:41| 来源: 网络整理| 查看: 265

Java实现自动发送电子邮件和发送邮件验证码(学生项目)

前言:java初学者在做一些小项目时,登录注册想实现身份验证功能,比如验证码进行身份验证。但是苦于条件有限无法发送手机短信验证码,你可以试试这个——发送电子邮箱信息验证身份信息。

(一)演示效果:

效果如下: 演示邮箱收到验证码 图片内容仅供参考,实际效果以自己写的代码为准。

将得到的验证码输入到自己的项目上 将得到的验证码输入到自己的项目完成【身份验证】上。

(二)方法步骤

第一步我们先登录一个电子邮箱(我以QQ邮箱为例,其他邮箱如163邮箱方法相同)

①在主页面的左上角有个设置按钮 进入设置 在这里插入图片描述 ②在设置下点击 账户 在这里插入图片描述

③下拉找到 [POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务] 开启服务 将POP3/SMTP服务 和 IMAP/SMTP服务打开 在这里插入图片描述

④暂时记住这个授权码 用于你在第三方客户端的密码框里面输入16位授权码进行验证。(注意先存好) 在这里插入图片描述 第二步 下载 mail.jar 在这里插入图片描述 (1)mail.jar 是java中主要用来发送邮件的jar包,没有这个jar包便无法进行邮件的发送。读者可以在百度上自行下载。 (2)也可以使用百度网盘 下载链接:https://pan.baidu.com/s/1ji89x8K8ZOSv2cpzHhKEyA 跳转地址 提取码:mail 第三步 将mail.jar导入到项目中(以Eclipse IDE为例子) ①将mail.jar 直接复制到 MailTest Project中 在这里插入图片描述 ②图片按顺序导入 在这里插入图片描述 ③ apply 后,图标就变了,可以看到现在已经成功了。在这里插入图片描述 在这里插入图片描述

④如果出现乱码是因为编码集不一样,将编码集改成UTF-8就行了。在这里插入图片描述

(三)全部源代码

此代码仅供参考,能直接套用于邮件发送验证码功能 直接调用就好了。可根据需求修改内容。

修改邮件内容的区域 修改str的值就可以了。 String str = "发送邮件的内容"; Multipart mul=new MimeMultipart(); //新建一个MimeMultipart对象来存放多个BodyPart对象 BodyPart mdp=new MimeBodyPart(); //新建一个存放信件内容的BodyPart对象 mdp.setContent(str, "text/html;charset=utf-8");

2.全部java代码

package com.test.util; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class SendMailUtil { /** * 发送邮件(参数自己根据自己的需求来修改,发送短信验证码可以直接套用这个模板) * @param from_email 发送人的邮箱 * @param pwd 发送人的授权码 * @param recevices 接收人的邮箱 * @param code 验证码 * @param name 收件人的姓名 * @return */ public boolean sendQQEmail(String from_email, String pwd, String recevices, String code, String name){ Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); //使用smpt的邮件传输协议 props.setProperty("mail.smtp.host", "smtp.qq.com"); //主机地址 props.setProperty("mail.smtp.auth", "true"); //授权通过 Session session = Session.getInstance(props); //通过我们的这些配置,得到一个会话程序 try { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from_email)); //设置发件人 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(recevices,"用户","utf-8")); //设置收件人 message.setSubject("演示发邮件验证码网","utf-8"); //设置主题 message.setSentDate(new Date()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str = "

尊敬的:"+name+",您好!

" + "

欢迎注册xxx网,您本次的注册码是 " + "" + code + ",3分钟之内有效,请尽快使用!

" + "


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有