Java 邮件发送给多人

在日常工作中,经常需要通过邮件将信息发送给多个收信人。使用 Java 编程语言可以方便地实现这一功能。本文将介绍如何在 Java 中发送邮件给多人,并提供相应的代码示例。

1. 准备工作

在开始之前,我们需要先准备好 JavaMail API。JavaMail API 是一个用于发送和接收电子邮件的 Java API。你可以从[官方网站]( JavaMail API。

2. 添加依赖

在项目中添加 JavaMail API 的依赖:

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

3. 编写代码

首先,我们需要创建一个邮件发送工具类,其中包含发送邮件的方法。下面是一个示例:

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

public class EmailUtil {

    public static void sendEmail(String host, String port, String username, String password, String[] to, String subject, String body) {

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

        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            InternetAddress[] toAddresses = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                toAddresses[i] = new InternetAddress(to[i]);
            }
            message.setRecipients(Message.RecipientType.TO, toAddresses);
            message.setSubject(subject);
            message.setText(body);

            Transport.send(message);

            System.out.println("Email sent successfully.");

        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

4. 发送邮件给多人

接下来,我们可以使用上面创建的 EmailUtil 类发送邮件给多个收信人。下面是一个示例:

public class Main {

    public static void main(String[] args) {
        String host = "smtp.gmail.com";
        String port = "587";
        String username = "your-email@gmail.com";
        String password = "your-password";
        String[] to = {"recipient1@example.com", "recipient2@example.com"};
        String subject = "Test Email";
        String body = "This is a test email sent from Java.";

        EmailUtil.sendEmail(host, port, username, password, to, subject, body);
    }
}

在上面的示例中,我们首先定义了发送邮件所需的参数,包括 SMTP 服务器地址、端口号、发件人邮箱、密码、收信人邮箱、邮件主题和正文。然后,调用 EmailUtil 类的 sendEmail 方法发送邮件。

5. 流程图

下面是发送邮件给多人的流程图:

flowchart TD
    A(开始) --> B(设置邮件参数)
    B --> C(创建邮件会话)
    C --> D(构建邮件内容)
    D --> E(发送邮件)
    E --> F(结束)

6. 总结

通过上面的步骤,我们可以实现在 Java 中发送邮件给多个收信人。首先,我们准备好 JavaMail API 并添加依赖。然后,编写一个邮件发送工具类,并在主类中调用发送邮件的方法。最后,使用流程图展示发送邮件的整个流程。

希望本文对你有所帮助,谢谢阅读!