Я пытаюсь отправить письмо с вложением с использованием динамических c получателей, но получаю следующую ошибку: Я могу проверить связь с хостом. Ниже приведена трассировка стека
javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketException: Connection reset
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2460)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2187)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:740)
at javax.mail.Service.connect(Service.java:366)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
Ниже приведен фрагмент кода:
protected void Sendmail(String opt,String val)
{
String LogFile = "QAS.log";
String sender = "xyz.com";
String host = "smtp.xyz.com";
Properties prop = System.getProperties();
prop.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(prop);
try
{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(sender));
Multipart multipart = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(LogFile);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName("Process_Log");
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(Mail_Notify.substring(0,Mail_Notify.length()-1)));
Transport.send(message);
System.out.println("Mail successfully sent");
}
catch (MessagingException mex)
{
mex.printStackTrace();
}
}