You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中创建并发送邮件?含指定地址及NetBeans 8.2场景

在Java(NetBeans 8.2)中创建并发送邮件的完整指南

嘿,我来给你一步步拆解在NetBeans 8.2里用Java创建并发送邮件的完整流程——我之前在这个IDE里做过类似的需求,踩过的坑都给你避开!

第一步:搞定依赖包

Java本身没有内置完整的邮件发送工具,所以得用JavaMail API。对于NetBeans 8.2来说,最稳妥的是用javax.mail这个包:

如果是普通Java项目(非Maven):

  • 下载javax.mail.jar(这个包现在已经包含了JAF依赖,不用额外下载)
  • 在NetBeans里右键你的项目 → Properties → Libraries → Add JAR/Folder,选中下载好的jar包添加进去就行。

如果是Maven项目:

直接在pom.xml里加这段依赖,版本1.6.2和NetBeans 8.2兼容性拉满:

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>

第二步:编写核心发送代码

下面是一个可直接运行的纯文本邮件示例,我用的是Gmail的SMTP服务器(换其他邮箱的话,只需要改SMTP参数就行):

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class EmailSender {
    public static void main(String[] args) {
        // 替换成你自己的发件人信息
        final String senderEmail = "your-gmail-address@gmail.com";
        // 注意:Gmail必须用应用专用密码(开启两步验证后生成),不能用登录密码
        final String senderPassword = "your-app-specific-password";
        
        // 收件人信息
        String recipientEmail = "target-email@example.com";
        String emailSubject = "来自NetBeans的测试邮件";
        String emailContent = "这是用Java在NetBeans 8.2里发送的第一封邮件!";

        // 配置SMTP服务器参数
        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"); // 开启TLS加密,避免被拦截

        // 创建带身份验证的邮件会话
        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(senderEmail, senderPassword);
            }
        });

        try {
            // 构建邮件消息
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(senderEmail));
            // 可以添加多个收件人,用逗号分隔
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail));
            message.setSubject(emailSubject);
            message.setText(emailContent);

            // 发送邮件
            Transport.send(message);
            System.out.println("邮件发送成功!快去收件箱看看吧~");

        } catch (MessagingException e) {
            // 这里可以根据需要做更细致的异常处理
            throw new RuntimeException("发送邮件失败:" + e.getMessage(), e);
        }
    }
}

关键注意点:

  • Gmail用户:必须开启两步验证,然后在Google账号里生成应用专用密码,否则会被Google的安全机制拦截。
  • 其他邮箱参数参考:
    • QQ邮箱:SMTP地址smtp.qq.com,端口587,授权码在QQ邮箱设置的“POP3/SMTP服务”里生成
    • 163邮箱:SMTP地址smtp.163.com,端口587,同样需要开启POP3/SMTP并生成授权码

第三步:在NetBeans里测试运行

  • 把代码里的邮箱信息替换成你自己的
  • 右键EmailSender类 → Run File
  • 如果控制台输出“邮件发送成功!”,就说明搞定啦!

要是遇到报错,先排查这几点:

  • 依赖jar包有没有正确添加
  • SMTP地址、端口是不是写错了
  • 发件人的授权码/密码是否正确
  • 网络能不能连接到SMTP服务器(比如公司内网可能会屏蔽端口)

内容的提问来源于stack exchange,提问作者user9312688

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:35:56