Java实现邮件发送验证码等信息
首先需要准备的东西 我这里以QQ邮箱为例:
点击设置->账户,找到这个页面
拿到授权码 并保存好
然后代码如下:
package com.assetManage.tusdt.utils; import javax.mail.*; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; public class MailUtil { public static void main(String[] args) { sendMail("邮件接收者@qq.com","发送的信息"); } /** * 外网邮件发送 * * @param to * @param code */ public static void sendMail(String to, String code) { // Session对象: Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.qq.com"); // 设置主机地址 // smtp.163.com // smtp.qq.com // smtp.sina.com props.setProperty("mail.smtp.auth", "true");// 认证 // 2.产生一个用于邮件发送的Session对象 Session session = Session.getInstance(props); // Message对象: Message message = new MimeMessage(session); // 设置发件人: try { // 4.设置消息的发送者 Address fromAddr = new InternetAddress("邮件发送者@qq.com"); message.setFrom(fromAddr); // 5.设置消息的接收者 nkpxcloxbtpxdjai Address toAddr = new InternetAddress(to); // TO 直接发送 CC抄送 BCC密送 message.setRecipient(MimeMessage.RecipientType.TO, toAddr); // 6.设置主题 message.setSubject("来自*****系统的验证码"); // 7.设置正文 message.setContent("这里是邮件的正文信息\n\n您的验证码为:" + code, "text/html;charset=UTF-8"); // 8.准备发送,得到火箭 Transport transport = session.getTransport("smtp"); // 9.设置火箭的发射目标 //transport.connect("smtp.163.com", "发送者@163.com", "biaobaiqiang123"); transport.connect("smtp.qq.com", "发送者@qq.com", "jxzkgctb*******");//jxzk..这个就是你的授权码 // 10.发送 transport.sendMessage(message, message.getAllRecipients()); // Transport对象: // Transport.send(message); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } }
上面需要修改邮件发送者的邮箱和授权码,邮件接收者,邮件内容,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!