Java中实现邮件发送需用jakarta.mail API配SMTP,配置服务器地址、端口、授权码,启用TLS/SSL,创建Session和Message,调用Transport.send();常见问题包括端口屏蔽、授权码错误及SSL验证失败。

Java中实现简单邮件发送功能,核心是使用JavaMail API配合SMTP协议,不需要复杂框架,几行代码就能发出测试邮件。
配置SMTP服务器和认证信息
发送邮件前需明确SMTP服务器地址、端口、账号和密码。常用邮箱如QQ邮箱、163邮箱都支持SMTP,但需在邮箱设置中开启“POP3/SMTP服务”,并获取专用授权码(不是登录密码)。
- QQ邮箱:SMTP服务器为 smtp.qq.com,端口通常用 587(TLS)或 465(SSL)
- 163邮箱:SMTP服务器为 smtp.163.com,端口 465 或 994
- 务必使用授权码而非邮箱登录密码,否则会因安全策略被拒绝
添加JavaMail依赖
JavaMail已从Oracle移交至Eclipse Foundation,推荐使用 jakarta.mail(新版),Maven依赖如下:
编写发送逻辑(纯文本邮件)
创建Session对象时需配置SMTP参数和认证;Message对象设置发件人、收件人、主题和内容;Transport.send()完成投递。
Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免
立即学习“Java免费学习笔记(深入)”;
- 启用TLS/SSL需设置 mail.smtp.starttls.enable=true 或 mail.smtp.ssl.enable=true
- 认证必须通过 Authenticator 子类提供用户名和密码
- 注意:收件人地址必须是合法邮箱格式,多个收件人可用 MimeMessage.addRecipient() 多次调用
常见问题与调试建议
发送失败大多源于配置或网络限制,可按顺序排查:









