news 2026/4/23 17:06:26

JavaMail 邮件发送实战:解决依赖与配置问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JavaMail 邮件发送实战:解决依赖与配置问题

开发中,邮件发送是一项十分实用的基础功能,不管是用户注册后的验证通知、系统异常的告警提醒,还是日常的信息推送,都能用到它。而对于刚接触 Java 开发的新手来说,实现邮件发送往往会卡在两个关键环节:一是 Maven 依赖的配置与加载,稍不注意就会出现 “程序包不存在” 的报错;二是邮件服务器的参数设置,比如授权码获取、SMTP 端口选择等,一个小细节出错就会导致邮件发送失败。

本文就以 QQ 邮箱为例,结合 Maven 项目结构,手把手带你完成从依赖配置、代码编写到测试运行的全流程,还会针对新手常遇到的依赖标红、发送无响应等问题给出解决方案,让你轻松掌握 Java 邮件发送的核心技能。

首先是开启qq邮箱的pop3服务,获取授权码

这样的目录,新增这个文件

package com.servlet.email; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; public class SendEmail { // 发送邮件的核心方法 public static void send(String toEmail, String subject, String content) { // 1. 邮箱服务器配置(QQ邮箱为例) String host = "smtp.qq.com"; String port = "587"; String fromEmail = "2474728161@qq.com"; // 替换为发件人QQ邮箱 String authCode = "*************"; // 替换为QQ邮箱SMTP授权码 // 2. 设置邮件属性 Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); // 协议 props.setProperty("mail.smtp.host", host); // 服务器 props.setProperty("mail.smtp.port", port); // 端口 props.setProperty("mail.smtp.auth", "true"); // 需要认证 props.setProperty("mail.smtp.starttls.enable", "true"); // 启用TLS加密 // 3. 创建认证器 Authenticator auth = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(fromEmail, authCode); } }; // 4. 获取会话 Session session = Session.getInstance(props, auth); session.setDebug(true); // 调试模式(可选) try { // 5. 创建邮件消息 MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(fromEmail)); // 发件人 message.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail)); // 收件人 message.setSubject(subject); // 主题 message.setText(content); // 内容 // 6. 发送邮件 Transport.send(message); System.out.println("邮件发送成功!"); } catch (MessagingException e) { System.err.println("邮件发送失败:" + e.getMessage()); e.printStackTrace(); } } // main方法测试 public static void main(String[] args) { // 测试发送(替换为实际收件人邮箱) send("6928537@qq.com", "测试邮件", "这是通过Java发送的测试内容"); } }

放这段代码在你的SendMail.java文件里面👆

我的邮箱改成你的邮箱,授权码就写qq邮箱里面开通服务给你的码

pom文件放入这段,放在dependencies里面,重载一下maven配置,SendMail就不会标红

右键运行

看控制台👇

看图形化界面,这是你发的

完成!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:44:29

Wan2.2-T2V-A14B生成视频的色彩管理与后期兼容性分析

Wan2.2-T2V-A14B生成视频的色彩管理与后期兼容性分析 在影视工业化和数字内容爆发式增长的今天,创意团队面临的不再是“有没有素材”,而是“能不能快速迭代、低成本试错”。传统拍摄周期长、成本高,尤其在广告预演、品牌概念片、跨文化内容本…

作者头像 李华
网站建设 2026/4/22 17:29:09

HyperCeiler完整使用指南:从零开始配置你的安卓系统增强神器

HyperCeiler完整使用指南:从零开始配置你的安卓系统增强神器 【免费下载链接】HyperCeiler Make HyperOS Great Again! 项目地址: https://gitcode.com/gh_mirrors/hy/HyperCeiler 还在为安卓系统的功能限制而烦恼吗?HyperCeiler作为一款强大的开…

作者头像 李华
网站建设 2026/4/23 12:37:41

湛江茂名阳江云浮品牌展览快闪店设计公司哪家专业?【本地优选】

在粤西经济蓬勃发展的浪潮中,品牌展览与快闪店设计已成为企业塑造形象、抢占市场的核心战场。无论是湛江的滨海风情、茂名的产业活力,还是阳江的文旅魅力、云浮的石材文化,均需通过创意设计将地域特色转化为商业价值。肆墨设计顾问有限公司 肆…

作者头像 李华
网站建设 2026/4/23 9:45:14

jQuery圆形进度条插件终极指南:从入门到精通

jQuery圆形进度条插件终极指南:从入门到精通 【免费下载链接】jquery-circle-progress jQuery Plugin to draw animated circular progress bars 项目地址: https://gitcode.com/gh_mirrors/jq/jquery-circle-progress 在现代网页开发中,动态视觉…

作者头像 李华
网站建设 2026/4/23 12:35:21

Wan2.2-T2V-A14B适合哪些行业?这5大领域最具潜力

Wan2.2-T2V-A14B适合哪些行业?这5大领域最具潜力 你有没有想过,未来拍电影可能不再需要摄影棚、灯光组和复杂的剪辑流程? 只需输入一句描述:“夕阳下,穿旗袍的女子撑着油纸伞走过青石板路,雨滴轻敲屋檐”&a…

作者头像 李华
网站建设 2026/4/23 11:12:13

【完整源码+数据集+部署教程】电子废物检测回收系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着全球电子产品的快速发展和普及,电子废物(E-waste)问题日益严重。根据联合国环境规划署的报告,全球每年产生的电子废物数量已超过5000万吨,预计到2030年这一数字将达到7400万吨。电子废物不仅占用了大…

作者头像 李华