要在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庫的文檔并進行相應的調整。