Java 邮件抄送

邮件抄送是在发送邮件时,将邮件同时发送给其他收件人的一种方式。在 Java 程序中,我们可以使用 javax.mail 库来实现邮件的发送和抄送功能。本文将介绍如何使用 Java 发送带有抄送的邮件,并提供相应的代码示例。

前提条件

在开始之前,您需要确保已经安装了 JDK(Java Development Kit)和 Maven(用于项目构建和依赖管理)。您还需要一个有效的邮箱账户,用于发送邮件和抄送。

添加依赖

首先,在您的 Java 项目中,通过 Maven 添加 javax.mail 依赖。在项目的 pom.xml 文件中添加以下代码:

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

保存并关闭 pom.xml 文件,Maven 将会自动下载所需的依赖。

编写代码

接下来,我们来编写 Java 代码来实现邮件的发送和抄送功能。以下是一个简单的示例代码:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSender {
    public static void main(String[] args) {
        // 邮件服务器配置
        Properties properties = new Properties();
        properties.put("mail.smtp.host", "smtp.example.com");
        properties.put("mail.smtp.port", "587");
        properties.put("mail.smtp.auth", "true");

        // 发件人和收件人信息
        String from = "sender@example.com";
        String to = "recipient@example.com";
        String cc = "cc@example.com";

        // 邮件内容
        String subject = "Hello from Java Mail";
        String body = "This is a test email.";

        try {
            // 创建会话
            Session session = Session.getInstance(properties, null);

            // 创建邮件消息
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
            message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
            message.setSubject(subject);
            message.setText(body);

            // 发送邮件
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.example.com", "username", "password");
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();

            System.out.println("Email sent successfully.");
        } catch (MessagingException e) {
            System.out.println("Failed to send email. Error message: " + e.getMessage());
        }
    }
}

在上面的示例代码中,我们首先设置了邮件服务器的配置,包括主机名、端口和是否需要认证。然后,我们指定了发件人的邮箱地址、收件人的邮箱地址以及抄送的邮箱地址。接下来,我们设置了邮件的主题和内容。

创建会话后,我们构建了一个 MimeMessage 对象,并设置了发件人、收件人、抄送、主题和内容等信息。最后,我们使用 Transport 类的 sendMessage 方法发送邮件,并在发送完成后关闭连接。

运行代码

在完成代码编写后,我们可以使用命令行或集成开发环境(IDE)来运行代码。确保您已经正确配置了 Java 开发环境和依赖项后,您可以执行以下命令来运行代码:

java MailSender

请注意,您需要替换代码中的邮件服务器配置、发件人、收件人和抄送的相关信息。

总结

本文介绍了如何使用 Java 发送带有抄送的邮件。我们首先添加了 javax.mail 依赖项,然后编写了示例代码。通过配置邮件服务器和相关信息,我们成功发送了一封带有抄送的邮件。

希望本文对您理解和使用 Java 邮件抄送提供了帮助。如有任何问题或疑问,请随时在下方留言。谢谢!