Java实现电子邮件投递,轻松学会发送邮件技巧

2026-07-06 0 阅读

在日常生活中,电子邮件是一种非常常见的通信方式。在Java编程中,实现电子邮件的发送也是一个非常实用的技能。本文将详细介绍如何在Java中实现电子邮件的投递,让你轻松学会发送邮件的技巧。

1. 准备工作

在开始之前,你需要准备以下几项:

  • 邮件服务器:选择一个可靠的邮件服务器,如Gmail、QQ邮箱等。
  • SMTP服务器地址:邮件服务器的SMTP地址,例如Gmail的SMTP服务器地址为smtp.gmail.com。
  • 端口号:SMTP服务器的端口号,通常为465或587。
  • 用户名和密码:你的邮件账户的用户名和密码。

2. 引入依赖

在Java项目中,我们需要引入以下依赖:

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

3. 创建邮件发送类

接下来,我们创建一个名为EmailSender的类,用于发送邮件。

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

public class EmailSender {
    public static void sendEmail(String recipient, String subject, String content) {
        // 设置邮件服务器地址、端口、用户名、密码
        String smtpServer = "smtp.example.com"; // 替换为你的SMTP服务器地址
        int smtpPort = 465; // 替换为你的SMTP服务器端口号
        String username = "your-email@example.com"; // 替换为你的邮件账户用户名
        String password = "your-password"; // 替换为你的邮件账户密码

        // 创建Properties对象,设置邮件服务器相关信息
        Properties properties = new Properties();
        properties.setProperty("mail.smtp.auth", "true");
        properties.setProperty("mail.smtp.starttls.enable", "true");
        properties.setProperty("mail.smtp.host", smtpServer);
        properties.setProperty("mail.smtp.port", String.valueOf(smtpPort));

        // 创建Session对象,传入Properties对象
        Session session = Session.getInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            // 创建MimeMessage对象,设置邮件相关信息
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
            message.setSubject(subject);
            message.setText(content);

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

4. 发送邮件

使用EmailSender类中的sendEmail方法发送邮件,只需传入收件人地址、主题和内容即可。

public class Main {
    public static void main(String[] args) {
        String recipient = "recipient@example.com"; // 替换为收件人地址
        String subject = "邮件主题"; // 替换为邮件主题
        String content = "邮件内容"; // 替换为邮件内容

        EmailSender.sendEmail(recipient, subject, content);
    }
}

5. 总结

通过本文的介绍,你现在已经学会了如何在Java中实现电子邮件的投递。在实际应用中,你可以根据自己的需求修改代码,例如添加附件、设置邮件格式等。希望本文对你有所帮助!

分享到: