要在Java中批量发送邮件,您可以使用JavaMail库来实现。下面是一个简单的示例,展示了如何使用JavaMail库批量发送邮件:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailSender {
private static final String SMTP_HOST = "your_smtp_host";
private static final String SMTP_PORT = "your_smtp_port";
private static final String USERNAME = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
// 设置邮件发送属性
Properties properties = new Properties();
properties.put("mail.smtp.host", SMTP_HOST);
properties.put("mail.smtp.port", SMTP_PORT);
properties.put("mail.smtp.auth", "true");
// 创建会话
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
// 创建邮件内容
String subject = "批量邮件测试";
String body = "这是一封测试邮件。";
String[] recipients = {"recipient1@example.com", "recipient2@example.com", "recipient3@example.com"};
try {
// 创建邮件消息
Message message = new MimeMessage(session);
message.setSubject(subject);
message.setText(body);
for (String recipient : recipients) {
// 设置收件人
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
// 发送邮件
Transport.send(message);
System.out.println("邮件发送成功至:" + recipient);
}
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们首先设置SMTP服务器的主机名、端口号、用户名和密码等属性。然后,通过创建`Properties`对象,并设置相应的属性来配置邮件发送。
接下来,我们创建一个`Session`对象,用于建立与SMTP服务器的会话。在创建`Session`对象时,我们提供了一个`Authenticator`实例,以便进行SMTP身份验证。
然后,我们设置邮件的主题、正文内容和收件人地址数组。在示例中,我们将邮件发送给多个收件人。
接下来,我们使用`MimeMessage`创建邮件消息,并设置主题和正文内容。然后,使用一个循环来逐个设置收件人地址,并通过`Transport.send()`方法发送邮件。
在运行示例之前,请确保替换`SMTP_HOST`、`SMTP_PORT`、`USERNAME`和`PASSWORD`为您自己的SMTP服务器的详细信息,并将`recipients`数组替换为您要发送邮件的收件人地址。
请注意,此示例中使用的是简单的纯文本邮件。如果需要发送HTML格式的邮件、添加附件或其他高级功能,请参考JavaMail库的文档并进行相应的调整。