Не удалось подключиться к узлу SMTP: outlook.office365.com, порт: 587; вложенное исключение: java.net.SocketException: разрешение отклонено: подключение

Я написал код, который отправляет электронную почту с помощью outlook.office365.com. Когда я запускаю программу, получаю следующую ошибку.

javax.mail.MessagingException: не удалось подключиться к узлу SMTP: outlook.office365.com, порт: 587; вложенное исключение:

java.net.SocketException: Отказано в доступе: подключиться

private static final String SERVIDOR_SMTP = "outlook.office365.com";
private static final int PORTA_SERVIDOR_SMTP = 587;
private static final String CONTA_PADRAO = "[email protected]"; //Cofig  Mail Id
private static final String SENHA_CONTA_PADRAO = "XYZ"; // Password

private final String from = "[email protected]"; 
private final String to = "[email protected]";

private final String subject = "Teste";
private final String messageContent = "Teste de Mensagem";

public void sendEmail() {
    final Session session = Session.getInstance(this.getEmailProperties(), new Authenticator() {

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(CONTA_PADRAO, SENHA_CONTA_PADRAO);
        }

    });

    try {
        final Message message = new MimeMessage(session);
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setFrom(new InternetAddress(from));
        message.setSubject(subject);
        message.setText(messageContent);
        message.setSentDate(new Date());
        Transport.send(message);
    } catch (final MessagingException ex) {
       System.out.println(" "+ex);
    }
}

public Properties getEmailProperties() {
    final Properties config = new Properties();
    config.put("mail.smtp.auth", "true");
    config.put("mail.smtp.starttls.enable", "true");
    config.put("mail.smtp.host", SERVIDOR_SMTP);
    config.put("mail.smtp.port", PORTA_SERVIDOR_SMTP);
    return config;
}

public static void main(final String[] args) {
    new SendAttachmentInEmail().sendEmail();
}

person rama    schedule 30.05.2019    source источник


Ответы (1)


Я думаю, у вас нет разрешения на доступ к вашей электронной почте. Например, когда я пытаюсь войти в свою учетную запись Gmail, если я не открою настройку, показанную ниже, я получу ошибку авторизации, но если я открою настройку, я смогу отправить электронное письмо с вашим кодом.

Пожалуйста, проверьте разрешение и настройки электронной почты.

картинка настроек

person T.Er    schedule 30.05.2019
comment
После внесения вышеуказанных изменений по-прежнему возникает ошибка ERROR javax.mail.MessagingException: не удалось подключиться к узлу SMTP: smtp.office365.com, порт: 587; вложенное исключение: java.net.SocketException: разрешение отклонено: подключение - person rama; 30.05.2019
comment
я изменил свой ответ. Пожалуйста, проверьте. - person T.Er; 30.05.2019
comment
Спасибо за ответ, не могли бы вы объяснить пошагово, как я могу проверить разрешение и настройки электронной почты в Office 365 - person rama; 30.05.2019