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

如何使用Java实现邮件发送?附相关代码示例

使用Java发送邮件

这里给你一个基于JavaMail API实现的邮件发送示例,我们以Gmail的SMTP服务为例,同时补全了你提供代码中截断的部分:

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

public class EmailSend { 
    public static void main(String args[]){ 
        try{ 
            String host ="smtp.gmail.com" ; 
            final String user = "abc@gmail.com"; // 替换为你的发件邮箱
            final String pass = "password"; // 替换为你的邮箱密码/应用专用密码
            String to = "xyz@gmail.com"; // 替换为收件人邮箱
            String from = "abc@gmail.com"; 
            String subject = "Trial"; 
            String messageText = "This is a test email!"; 
            boolean sessionDebug = false; 

            Properties props = System.getProperties(); 
            // 补全SMTP核心配置
            props.put("mail.smtp.host", host);
            props.put("mail.smtp.port", "587");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.starttls.enable", "true");

            // 创建带身份验证的Session
            Session mailSession = Session.getDefaultInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(user, pass);
                }
            });
            mailSession.setDebug(sessionDebug); // 开启调试模式可查看邮件发送日志

            // 构建邮件内容
            MimeMessage message = new MimeMessage(mailSession);
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject(subject);
            message.setText(messageText);

            // 执行邮件发送
            Transport.send(message);
            System.out.println("邮件发送成功!");

        } catch (MessagingException mex) {
            mex.printStackTrace(); // 捕获并打印发送过程中的异常
        }
    } 
}

几个关键提示:

  • 依赖准备:要确保项目引入JavaMail API的依赖,比如Maven中可以添加javax.mail:mail:1.4.7或者对应版本的Jakarta Mail依赖
  • Gmail特殊配置:如果用Gmail发件,账号开启两步验证的话,必须用应用专用密码替代普通密码;未开启两步验证的话,需要暂时允许低安全性应用访问(更推荐用应用专用密码)
  • 参数替换:代码里的邮箱账号、密码、收件人地址都要换成你自己的真实信息
  • 调试技巧:把sessionDebug设为true,可以看到邮件发送的详细交互日志,方便排查问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:23:23