
2020-09-17
确保SMTP服务已开启,维修人员需检查邮箱设置。 验证邮箱和密码是否正确,尤其是部分邮箱服务器(如QQ)要求独立密码。 遵循邮件服务器的安全连接要求,默认以SSL方式连接。
发布日期:2021-05-14 22:04:36
浏览次数:17
分类:精选文章
本文共 3279 字,大约阅读时间需要 10 分钟。
个人Java邮件注册实现技术说明
依赖文件配置
本实现基于以下JavaMail相关依赖项:
javax.mail 1.4 javax.activation activation 1.1.1
Java实现代码
类结构说明
package com.ssm.service;import java.util.Date;import java.util.Properties;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class MailService { public static String myEmailAccount = "2377530086@qq.com"; public static String myEmailPassword = "授权码"; public static String myEmailSMTPHost = "smtp.qq.com"; public static String receiveMailAccount = "3620763725@qq.com"; public static void sendActiveMail(String receiveMailAccount, String contentMail) throws Exception { Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", myEmailSMTPHost); props.setProperty("mail.smtp.auth", "true"); /* * SMTP 服务器连接使用SSL时的配置: * props.setProperty("mail.smtp.port", "465"); * props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); * props.setProperty("mail.smtp.socketFactory.fallback", "false"); * props.setProperty("mail.smtp.socketFactory.port", "465"); */ Session session = Session.getDefaultInstance(props); session.setDebug(true); MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount, contentMail); Transport transport = session.getTransport(); transport.connect(myEmailAccount, myEmailPassword); transport.sendMessage(message, message.getAllRecipients()); transport.close(); } private static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail, String contentMail) throws Exception { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(sendMail, "慈善交流会", "UTF-8")); message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用户", "UTF-8")); message.setSubject("验证码", "UTF-8"); message.setContent("尊敬的用户,您好!你的验证码是:" + contentMail, "text/html;charset=UTF-8"); message.setSentDate(new Date()); message.saveChanges(); return message; } public MailService(String receiveMailAccount, String contentMail) { this.receiveMailAccount = receiveMailAccount; try { this.sendActiveMail(receiveMailAccount, contentMail); } catch (Exception e) { e.printStackTrace(); } }}
使用说明
依赖环境准备
- 打包并导入上述依赖项 jars 文件,确保项目中能找到 javax.mail 和 javax.activation 类。
配置信息替换
myEmailAccount
和myEmailPassword
请根据实际情况替换为发送邮件的邮箱和授权码;myEmailSMTPHost
请根据实际所用邮箱服务填写正确的SMTP服务器地址,如QQ邮箱为smtp.qq.com
。
邮件发送调用方法
- 创建
MailService
实例并调用sendActiveMail
方法,例如:String receiveMail = "目标邮箱";String content = "邮件内容";new MailService(receiveMail, content).sendActiveMail(receiveMail, content);
测试说明
测试类简介
- 类功能:实现Email激活地址发送功能,接收邮箱和验证码,返回邮件发送结果。
- 使用说明:
// 参数1:目标接收邮箱// 参数2:验证码或激活链接new MailService("目标邮箱", "验证码内容");
这些婴儿用品在你的路径中吗?
在讨论邮件服务器配置时,要注意以下几点:
发表评论
最新留言
很好
[***.229.124.182]2025年04月08日 13时06分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
BUU-MISC-认真你就输了
2019-03-09
BUU-MISC-caesar
2019-03-09
【专题2:电子工程师 之 上位机】 之 【36.事件重载】
2019-03-09
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
2019-03-09
一文理解设计模式--命令模式(Command)
2019-03-09
VTK:可视化之RandomProbe
2019-03-09
block多队列分析 - 2. block多队列的初始化
2019-03-09
Java时间
2019-03-09
不编译只打包system或者vendor image命令
2019-03-09
The wxWindows Library Licence (WXwindows)
2019-03-09
leetcode——第203题——虚拟头结点
2019-03-09
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2019-03-09
MySQL----基础及常用命令
2019-03-09
flink启动(二)
2019-03-09
软件架构设计和MESH经验之谈
2019-03-09
关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
2019-03-09
Windows2016 FTP用户隔离
2019-03-09
js传入参数是中文的时候出现 “******”未定义错误
2019-03-09
吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)
2019-03-09
pair的用法
2019-03-09