登录
首页 >  文章 >  java教程

JavaMail发送邮件配置教程

时间:2025-07-17 11:09:46 252浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Java发送邮件教程:JavaMail配置详解》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

要使用JavaMail发送邮件需完成四步:添加依赖、配置Session、构建邮件内容并发送、注意安全及配置问题。首先在Maven项目中添加com.sun.mail的依赖或手动引入jar包;接着通过Properties设置SMTP参数并创建带认证的Session对象;然后使用MimeMessage构造邮件内容包括发件人、收件人、主题和正文;最后避免密码硬编码,确认SMTP认证信息正确,检查SSL/TLS配置,注意防火墙限制及邮件内容规范以防止被识别为垃圾邮件。

如何使用Java发送邮件?JavaMail配置指南

发送邮件在很多Java应用中都是常见需求,比如注册验证、通知提醒等。JavaMail 是 Java 中处理邮件的标准库,虽然功能强大,但配置起来确实有点麻烦。下面我来一步步讲讲怎么用 JavaMail 发送邮件,包括基本配置和注意事项。

如何使用Java发送邮件?JavaMail配置指南

1. 添加依赖:确保项目中有 JavaMail 库

如果你使用的是 Maven 项目,需要先在 pom.xml 中添加 JavaMail 的依赖:

如何使用Java发送邮件?JavaMail配置指南

    com.sun.mail
    javax.mail
    1.6.2

如果不是 Maven 项目,可以手动下载 JavaMail 官网 提供的 jar 包并加入到 classpath 中。

有些老项目可能还在用 javax.mail 原始版本,现在推荐使用 com.sun.mail 这个更新更频繁的分支。

如何使用Java发送邮件?JavaMail配置指南

2. 配置邮件会话 Session

JavaMail 使用 Session 对象来管理邮件发送的上下文信息。通常我们会通过 Properties 来设置 SMTP 相关参数。

以使用 Gmail 为例,配置如下:

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");

Session session = Session.getInstance(props, new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("your-email@gmail.com", "your-password");
    }
});

几点说明:

  • mail.smtp.auth 表示是否需要认证
  • mail.smtp.starttls.enable 表示启用 TLS 加密
  • 如果你用的是其他邮箱,比如 QQ 或者 163,要查清楚对应的 SMTP 地址和端口

3. 构建邮件内容并发送

接下来就是构造邮件内容了。主要用到 MimeMessageMimeMessageHelper(Spring 中常用),也可以直接使用 MimeMessage 手动构建。

一个简单例子:

try {
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("from@example.com"));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to@example.com"));
    message.setSubject("测试邮件标题");
    message.setText("这是邮件正文内容");

    Transport.send(message);
    System.out.println("邮件发送成功!");
} catch (MessagingException e) {
    e.printStackTrace();
}

如果要发 HTML 内容或者带附件,可以用 setContent() 方法指定 HTML 格式,或使用 Multipart 添加多个部分。


4. 常见问题与注意事项

  • 密码安全:不要硬编码密码,建议从配置文件或环境变量中读取。
  • SMTP 认证失败:检查用户名和密码是否正确,Gmail 用户可能需要开启“应用专用密码”。
  • SSL/TLS 配置错误:不同邮箱服务商支持的加密方式不同,一定要确认好配置。
  • 防火墙/代理限制:某些服务器可能会限制对外连接的 SMTP 端口,需联系运维确认。
  • 邮件被当作垃圾邮件:注意发件人地址、主题和内容结构,避免触发反垃圾机制。

基本上就这些步骤。JavaMail 功能很全,但刚上手时容易卡在配置环节。只要搞清 SMTP 地址、端口、加密方式这几个关键点,剩下的就只是代码调用了。

今天关于《JavaMail发送邮件配置教程》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>