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 并添加依赖。然后,编写一个邮件发送工具类,并在主类中调用发送邮件的方法。最后,使用流程图展示发送邮件的整个流程。
希望本文对你有所帮助,谢谢阅读!