У нас есть программа, которая отправляет массовую почту.Информация типа
1. To
2. Subject
Etc.
извлекается из базы данных, почта составляется и отправляется на SMTP-сервер.Один из наших клиентов отправил письмо с 2390 электронными письмами.После отправки 40 писем внезапно возникло следующее исключение
EXCEPTION
javax.mail.AuthenticationFailedException
STACKTRACE
javax.mail.Service.connect(Service.java:306)
javax.mail.Service.connect(Service.java:156)
javax.mail.Service.connect(Service.java:105)
...............
java.lang.Thread.run(Thread.java:619)
, а остальные 2350 писем не удалось.
Почему это происходит?
Спасибо за предложения и помощь
Ежиль
=============================================
Мой код:
Session session = Session.getInstance(properties, new SMTPAuthenticator(smtpAuthenticationBean.getUserName(), smtpAuthenticationBean.getPassword()))) : (Session.getInstance(properties, null))
for each email id
{
InternetAddress iAddress = new InternetAddress(getFromHeader(jobListBean.getFromDisplayName(), jobListBean.getFromEmail()));
Multipart multipart = new MimeMultipart(); // By default, Content Type is "mixed"
msg.setSubject(jobListBean.getSubject());
msg.setSentDate(new Date());
// Set Internet Headers
msg.setHeader("Importance", priorityType);
msg.setHeader("Disposition-Notification-To", jobListBean.getFromEmail());
FileDataSource fds = new FileDataSource(tempAbsoluteFileName);
MimeBodyPart htmlBodyPart = new MimeBodyPart();
String fileContent = org.objectstyle.woproject.util.FileStringScanner.stringFromFile(new File(tempAbsoluteFileName));
htmlBodyPart.setText(fileContent);
multipart.addBodyPart(htmlBodyPart);
msg.setContent(multipart);
InternetAddress address[] = InternetAddress.parse(emailList.toString(), true);
Transport smtpTransport = session.getTransport();
smtpTransport.addTransportListener(this);
smtpTransport.connect();
smtpTransport.sendMessage(msg, address);
smtpTransport.close();
File file = new File(tempAbsoluteFileName);
file.delete();
}
====================================
Да, у сервера smtp есть возможность отключиться или не отвечать, поскольку его потоковая программа, я могу сказать, в максимальном случае может быть отправлено более 1000 писемна сервер smtp одновременно.
При любом приведении произойдет выброс сервера smtp
EXCEPTION
javax.mail.AuthenticationFailedException
STACKTRACE
javax.mail.Service.connect(Service.java:306)
javax.mail.Service.connect(Service.java:156)
javax.mail.Service.connect(Service.java:105)
...............
java.lang.Thread.run(Thread.java:619)
, если он не сможет обработать наш запрос
=============
Еще мне нужно заглянуть в журнал SMTP-сервера.
Ежиль