Apache Common Mails: Исключение: не удалось отправить сообщение на следующий сервер: smtp.gmail.com:587 - PullRequest
0 голосов
/ 09 января 2019

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

Код:

// Create the email message
            MultiPartEmail email = new MultiPartEmail();
            email.setHostName("smtp.gmail.com");
            email.setSmtpPort(587);
            email.setAuthenticator(new DefaultAuthenticator("peterapiit@gmail.com", "giqqpudmcjjmpbcc"));
            email.setFrom("peterapiit@gmail.com", "Nicholas Wong");
            email.addTo("kwong@who.int", "Nicholas Wong");
            email.addTo("gann@who.int", "Nicholas Gann");
            email.setBounceAddress("peterwkc30@gmail.com");
            email.setSubject("ePQS Automation Testing Report");
            email.setMsg("Please find the ePQS Automation Testing Report from attachment");
            email.setStartTLSEnabled(true);
            email.setSSLCheckServerIdentity(true);  
            email.setDebug(true); 

            email.getMailSession().getProperties().setProperty("mail.smtp.auth", "true");
            email.getMailSession().getProperties().setProperty("mail.smtp.starttls.enable", "true");
            email.getMailSession().getProperties().setProperty("mail.smtp.port", "587");
            email.getMailSession().getProperties().setProperty("mail.https.proxy.host", "http://10.64.150.9");
            email.getMailSession().getProperties().setProperty("mail.https.proxy.port", "8080");

Наш прокси-сервер требует аутентификации. Я считаю, что javax.mail не поддерживает это. Любая почта Java, которая поддерживает аутентификацию прокси? Апач Джеймс.

Как правильно настроить прокси? Любая идея? Миллиард спасибо за вашу помощь.

Ошибка:

ОТЛАДКА: JavaMail версия 1.6.2 ОТЛАДКА: успешно загруженный ресурс: /META-INF/javamail.default.address.map DEBUG: возвращение getProvider () javax.mail.Provider [ТРАНСПОРТ, SMTP, com.sun.mail.smtp.SMTPTransport, Oracle] Отладка SMTP: требуется имя пользователя и пароль для аутентификации Отладка SMTP: protocolConnect возвращает false, host = smtp.gmail.com, user = kwong, пароль = SMTP отладки: useEhlo истина, useAuth true отладка SMTP: пытается подключиться к хосту "smtp.gmail.com", порт 587, isSSL false [INFO] 2019-01-10 09: 45: 18.237 [main] - Исключение: отправка электронного письма на следующий сервер не удалось: smtp.gmail.com:587

1 Ответ

0 голосов
/ 09 января 2019

В настройках вашего свойства вы должны изменить «protocol» на фактическое имя используемого вами протокола, например, «smtp».

...