メールサービスに接続および切断せずにこのループを適用する方法はありますか? ループは 2 人または 5 人で問題なく機能していますが、100 人になるとすべてのメッセージを送信するのに時間がかかります。各ループで約 3 秒かかります。
while(rs.next()){
items = rs.getString("email");
try {
Properties mail = new Properties();
mail.setProperty("mail.smtp.host", "smtp.gmail.com");
mail.setProperty("mail.smtp.starttls.enable","true");
mail.setProperty("mail.smtp.port", "25");
mail.setProperty("mail.smtp.user", "cuatrocuadrado@gmail.com" );
mail.setProperty("mail.smtp.auth", "true");
session=Session.getDefaultInstance(mail);
message= new MimeMessage(session);
message.setFrom(new InternetAddress("cuatrocuadrado@gmail.com"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(items));
//message.addRecipient(Message.RecipientType.BCC, new InternetAddress());
message.setSubject(Email.tSubject.getText());
message.setText(Email.areaEmail.getText());
Transport t = session.getTransport("smtp");
t.connect("cuatrocuadrado@gmail.com","*********");
t.sendMessage(message, message.getAllRecipients());
t.close();
} catch (MessagingException ex) {
JOptionPane.showMessageDialog(null,ex.getMessage());
}
} } catch (SQLException ex) {
Logger.getLogger(SendEmail.class.getName()).log(Level.SEVERE, null, ex);
}JOptionPane.showMessageDialog(null,"Success");