Не удалось подключиться к хосту, порт: smtp.gmail.com, 587; тайм-аут -1

Я пытаюсь отправить электронное письмо через java-приложение. Но не могу подключиться к хосту gmail. Может кто-нибудь, пожалуйста, поддержите меня. Он уже работал с моим Eclipse Oxygen дома, но в среде, которую я использую на работе, он всегда терпит неудачу. Буду очень признателен за вашу помощь :)

    import java.io.UnsupportedEncodingException;
    import java.util.Properties;

    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;


    public class SendMail {

        public static void main(String[] args) {

            final String username = "[email protected]";
            final String password = "mypassword";

            Properties props = new Properties();
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.host", "smtp.gmail.com");
            props.put("mail.smtp.port", "587");

            Session session = Session.getInstance(props,
              new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(username, password);
                }
              });

            try {

                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("[email protected]"));
                message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("[email protected]"));
                message.setSubject("Testbetreff");
                message.setText("Sehr geehrter Herr gng76u76ihn,"
                    + "\n\n Testnachricht");


                    Transport.send(message);


                System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
        }
    }

просто для более подробной информации о моих исключениях: Исключение в потоке "main" java.lang.RuntimeException: com.sun.mail.util.MailConnectException: не удалось подключиться к хосту, порт: smtp.gmail.com, 587; тайм-аут -1; вложенное исключение: java.net.ConnectException: время ожидания соединения истекло: подключение по адресу emailPro.SendMail.main(SendMail.java:53) Причина: com.sun.mail.util.MailConnectException: не удалось подключиться к хосту, порт: smtp.gmail.com, 587; тайм-аут -1;

Philipp Huber 18.02.2019 10:13

Там, вероятно, брандмауэр, препятствующий прямому подключению, вам может понадобиться подключиться через прокси. Кроме того, вы можете упростить свой код с помощью избавиться от аутентификатора.

Bill Shannon 18.02.2019 19:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
3 125
0

Другие вопросы по теме