#java #spring-boot #email #jakarta-mail
Вопрос:
Вот мой код com.sun.mail.util.MailConnectException
, я создал java-программу для отправки электронной почты с веб-почты в gmail, но по какой-то причине у меня истекло время подключения и
: Не удалось подключиться к хосту. :
String from = "asg@abc.com";
String pass ="***";
String to = "ag@gmail.com";
String host = "smtp.webmail.abc.com";
Properties properties = System.getProperties();
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.user", from);
properties.put("mail.smtp.password", pass);
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(properties);
try{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject("This is the Subject Line!");
message.setText("This is actual message");
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
Комментарии:
1. Работает ли SMTP по протоколу TLS на порту 465 smtp.webmail.abc.com? Ты уверен? Не удалось подключиться к хосту, по-видимому, указывает smtp.webmail.abc.com не существует.
2. Я также пытался использовать порт 587, но это не сработало. Я получал ту же ошибку.
3. Выполнение решения MX на abc.com дает
abc.com mail exchanger = 10 abc-com.mail.protection.outlook.com.
, где ты взял «smtp.webmail.abc.com»?4. это сработало после того, как я изменил его на smtp.webmail.com но в браузере он показывает, что электронное письмо отправлено успешно, но почта не была получена, а на консоли отображается ошибка ниже:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.webmail.com, 587; timeout -1; nested exception is: java.net.ConnectException: Connection timed out: connect
5. Я не знаю, почему вы утверждаете, что «это сработало». Потому что вы все равно получаете то же самое «Не удалось подключиться к хосту».