Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3

Ошибка при отправке почты (библиотека javax.mail)

13.03.2018, 07:39. Показов 8495. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я понимаю, что тема давно избита но все же. Столкнулся с проблемой по отправке почты средствами JAVA а конкретно mail.ru. Ранее рассылка шла через gmail но по ряду причин пришлось отказаться. Так вот перестало работать. Происходит таймаут и вылитает ошибка. Использую библиотеку javax.mail.

Сам код метода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public String sendingEmail (String email, String subject, String bodyMessage) {
 
        Properties props = new Properties();
        props.put("mail.smtp.auth", EmailData.MAIL_STATS_SMTP_AUTH); //"true"
        props.put("mail.smtp.host", EmailData.MAIL_STATS_SMTP_HOST); //"smtp.mail.ru"
        props.put("mail.smtp.port", EmailData.MAIL_STATS_SMTP_PORT); //"465"
 
        Session session = Session.getInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(EmailData.EMAIL_USER_NAME, EmailData.EMAIL_USER_PASSWORD);
            }
        }); 
 
        try { 
 
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(email));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email));
            message.setSubject(subject);
            message.setText(bodyMessage);
 
            Transport.send(message);
            
            return "done";
 
        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
 
    }
Имя пользователя пишу полностью.
Подскажите в чем может быть проблема. Или лучше другую библиотеку использовать?

Добавлено через 6 минут
PS не для спама!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2018, 07:39
Ответы с готовыми решениями:

дайте ссылку на скачивание javax.mail и javax.mail.Message
дайте ссылку на скачивание javax.mail и javax.mail.Message

Ошибка при отправке почты (ActiveWorkbook.SendMail Recipients:='ivan@mail.ru', Subject:='tema')
В excel XP написан макрос на отправку почты, в частности стока ActiveWorkbook.SendMail Recipients:='ivan@mail.ru', Subject:='tema' ...

При отправке почты через функцию mail() письма попадают в спам
код отправки писем $to = "web-d0y4h@mail-tester.com" ; $subject = $_POST; $text=''; if (isset($_POST)) {$text.='Имя:...

10
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
13.03.2018, 08:05
ща магический шар достану и посмотрю на твой монитор да бы узнать сам текст ошибки. паранойя не мучает?
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
13.03.2018, 08:07  [ТС]
Цитата Сообщение от LeX Посмотреть сообщение
ща магический шар достану и посмотрю на твой монитор да бы узнать сам текст ошибки. паранойя не мучает?
Можно же просто спросить или указать что нужны ошибки. Можете не доставать свой "магический шар".


мар 13, 2018 3:25:44 AM org.apache.catalina.core.StandardHostVal ve invoke
SEVERE: Exception Processing /librariFinalTask/SimpleServletController
java.lang.NullPointerException
at org.apache.catalina.core.StandardWrapper Valve.invoke(StandardWrapperValve.java:2 59)
at org.apache.catalina.core.StandardContext Valve.invoke(StandardContextValve.java:9 4)
at org.apache.catalina.authenticator.Authen ticatorBase.invoke(AuthenticatorBase.jav a:504)
at org.apache.catalina.core.StandardHostVal ve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportVa lve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAcces sLogValve.invoke(AbstractAccessLogValve. java:620)
at org.apache.catalina.core.StandardEngineV alve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdap ter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11P rocessor.process(AbstractHttp11Processor .java:1132)
at org.apache.coyote.AbstractProtocol$Abstr actConnectionHandler.process(AbstractPro tocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.doRun(NioEndpoint.java:15 39)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.run(NioEndpoint.java:1495 )
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThrea d$WrappingRunnable.run(TaskThread.java:6 1)
at java.lang.Thread.run(Thread.java:748)
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
13.03.2018, 09:07
Цитата Сообщение от First Посмотреть сообщение
Можно же просто спросить или указать что нужны ошибки
Они всегда нужны. Приведённый стэктрейс не имеет никакого отношения к отправке почты. Либо ты не тот стэктрейс скопировал, либо не полностью. Либо проблема не в отправке почты, а в чём-то другом.
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
13.03.2018, 12:30  [ТС]
Очень долго висит и потом выдает

мар 13, 2018 12:29:51 PM org.apache.catalina.core.StandardWrapper Valve invoke
SEVERE: Servlet.service() for servlet [by.htp.library.controller.SimpleServletC ontroller] in context with path [/librariFinalTask] threw exception
java.lang.RuntimeException: javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.ru, port: 465, response: -1
at by.htp.library.action.util.EmailSender.s endingEmail(EmailSender.java:44)
at by.htp.library.dao.impl.BookDaoMySql.ans erRenting(BookDaoMySql.java:739)
at by.htp.library.action.console.renting.An swerRenting.doHttpReqRes(AnswerRenting.j ava:31)
at by.htp.library.controller.SimpleServletC ontroller.doGet(SimpleServletController. java:55)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:292)
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207)
at org.apache.tomcat.websocket.server.WsFil ter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240)
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207)
at org.apache.catalina.core.StandardWrapper Valve.invoke(StandardWrapperValve.java:2 12)
at org.apache.catalina.core.StandardContext Valve.invoke(StandardContextValve.java:9 4)
at org.apache.catalina.authenticator.Authen ticatorBase.invoke(AuthenticatorBase.jav a:504)
at org.apache.catalina.core.StandardHostVal ve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportVa lve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAcces sLogValve.invoke(AbstractAccessLogValve. java:620)
at org.apache.catalina.core.StandardEngineV alve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdap ter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11P rocessor.process(AbstractHttp11Processor .java:1132)
at org.apache.coyote.AbstractProtocol$Abstr actConnectionHandler.process(AbstractPro tocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.doRun(NioEndpoint.java:15 39)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.run(NioEndpoint.java:1495 )
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThrea d$WrappingRunnable.run(TaskThread.java:6 1)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.ru, port: 465, response: -1
at com.sun.mail.smtp.SMTPTransport.openServ er(SMTPTransport.java:1949)
at com.sun.mail.smtp.SMTPTransport.protocol Connect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java: 317)
at javax.mail.Service.connect(Service.java: 176)
at javax.mail.Service.connect(Service.java: 125)
at javax.mail.Transport.send0(Transport.jav a:194)
at javax.mail.Transport.send(Transport.java :124)
at by.htp.library.action.util.EmailSender.s endingEmail(EmailSender.java:39)
... 26 more
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
13.03.2018, 12:37
Данные подключения нужно проверить. SMTP сервер по указанному адресу/порту не отвечает
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
13.03.2018, 12:38  [ТС]
Цитата Сообщение от Любопытный Посмотреть сообщение
Данные подключения нужно проверить. SMTP сервер по указанному адресу/порту не отвечает
Как это сделать можно?
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
13.03.2018, 12:40
Почитать инструкции на ресурсе, которому почтовик пренадлежит.
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
13.03.2018, 13:12  [ТС]
использую данные с mail.ru

IMAP, SMTP и POP3-серверы Mail.Ru
Для настройки почтовой программы вам потребуется следующая информация:

Электронный адрес Полное имя почтового ящика, включая логин, @ и домен
Сервер входящей почты (IMAP- и POP3-сервера) IMAP-сервер — imap.mail.ru
POP3-сервер — pop.mail.ru
Сервер исходящей почты (SMTP-сервер) smtp.mail.ru
Имя пользователя
Полное имя почтового ящика, включая логин, @ и домен

Пароль Пароль, который вы используете для входа в почтовый ящик
Порт IMAP — 993 (протокол шифрования SSL/TLS)
POP3 — 995 (протокол шифрования SSL/TLS)
SMTP — 465 (протокол шифрования SSL/TLS)
Аутентификация Обычный пароль (без шифрования)
В настройках почтовой программы необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации.

Добавлено через 30 минут
Странно:

DEBUG: JavaMail version 1.4.7
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=java x.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSS LTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.ma il.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTra nsport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mai l.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLSto re,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mai l.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLSto re,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.P rovider[STORE,imap,com.sun.mail.imap.IMAPStore,O racle], com.sun.mail.pop3.POP3Store=javax.mail.P rovider[STORE,pop3,com.sun.mail.pop3.POP3Store,O racle]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLSto re,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,O racle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSS LTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,O racle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLSto re,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTra nsport,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTra nsport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.mail.ru", port 465, isSSL false
DEBUG SMTP: exception reading response, THROW:
Exception : javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(N ative Method)
at java.net.SocketInputStream.socketRead(So cketInputStream.java:116)
at java.net.SocketInputStream.read(SocketIn putStream.java:171)
at java.net.SocketInputStream.read(SocketIn putStream.java:141)
at com.sun.mail.util.TraceInputStream.read( TraceInputStream.java:124)
at java.io.BufferedInputStream.fill(Buffere dInputStream.java:246)
at java.io.BufferedInputStream.read(Buffere dInputStream.java:265)
at com.sun.mail.util.LineInputStream.readLi ne(LineInputStream.java:89)
at com.sun.mail.smtp.SMTPTransport.readServ erResponse(SMTPTransport.java:2182)
at com.sun.mail.smtp.SMTPTransport.openServ er(SMTPTransport.java:1939)
at com.sun.mail.smtp.SMTPTransport.protocol Connect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java: 317)
at javax.mail.Service.connect(Service.java: 176)
at javax.mail.Service.connect(Service.java: 125)
at javax.mail.Transport.send0(Transport.jav a:194)
at javax.mail.Transport.send(Transport.java :124)
at by.htp.library.action.util.EmailSender.s endingEmail(EmailSender.java:56)
at by.htp.library.dao.impl.BookDaoMySql.ans erRenting(BookDaoMySql.java:739)
at by.htp.library.action.console.renting.An swerRenting.doHttpReqRes(AnswerRenting.j ava:31)
at by.htp.library.controller.SimpleServletC ontroller.doGet(SimpleServletController. java:55)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:292)
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207)
at org.apache.tomcat.websocket.server.WsFil ter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240)
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207)
at org.apache.catalina.core.StandardWrapper Valve.invoke(StandardWrapperValve.java:2 12)
at org.apache.catalina.core.StandardContext Valve.invoke(StandardContextValve.java:9 4)
at org.apache.catalina.authenticator.Authen ticatorBase.invoke(AuthenticatorBase.jav a:504)
at org.apache.catalina.core.StandardHostVal ve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportVa lve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAcces sLogValve.invoke(AbstractAccessLogValve. java:620)
at org.apache.catalina.core.StandardEngineV alve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdap ter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11P rocessor.process(AbstractHttp11Processor .java:1132)
at org.apache.coyote.AbstractProtocol$Abstr actConnectionHandler.process(AbstractPro tocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.doRun(NioEndpoint.java:15 39)
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.run(NioEndpoint.java:1495 )
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThrea d$WrappingRunnable.run(TaskThread.java:6 1)
at java.lang.Thread.run(Thread.java:748)
0
25 / 26 / 9
Регистрация: 14.03.2018
Сообщений: 74
15.03.2018, 07:17
Цитата Сообщение от First Посмотреть сообщение
DEBUG SMTP: trying to connect to host "smtp.mail.ru", port 465, isSSL false
DEBUG SMTP: exception reading response, THROW:
Exception : javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
Ну вот же он прямо пишет не может прочитать данные, превышен лимит ожидания ответа при отправке на порт 465.
Тут и надо смотреть.

Цитата Сообщение от korvin_ Посмотреть сообщение
Приведённый стэктрейс не имеет никакого отношения к отправке почты.
Да вы просто гений. Ну вот выложил ТС правильный стектрейс и что? Где ответы.. А нету ибо сдулся.
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
15.03.2018, 09:18  [ТС]
Спасибо. Разобрался. Не знаю на сколько верно, но работает.

Java
1
2
3
4
5
6
7
8
9
10
11
12
Properties props = new Properties();
            props.put("mail.smtp.host", EmailData.MAIL_STATS_SMTP_HOST);
            props.put("mail.smtp.ssl.enable", EmailData.MAIL_STATS_SSL_ENABLE);
            props.put("mail.smtp.auth", EmailData.MAIL_STATS_SMTP_AUTH);
            props.put("mail.smtp.port", EmailData.MAIL_STATS_SMTP_PORT);
            // props.put("mail.debug", "true");
 
            Session session = Session.getInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return (new PasswordAuthentication(EmailData.EMAIL_USER_NAME, EmailData.EMAIL_USER_PASSWORD));
                }
            });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2018, 09:18
Помогаю со студенческими работами здесь

При отправке на mail.ru, отправителем вместо почты, должен показываться текст
Доброго времени суток. Задача такая, к примеру при отправке на mail.ru, как сделать что бы вместо почты, отправителем показывался текст? ...

Ошибка при отправке почты
Здравствуйте. Подскажите пожалуйста, в чем проблема: Есть код на отправку писем с почты майла, на почту майла (mail.ru). VS не выдает...

Ошибка при отправке почты
Всем привет. Пишу приложение на ASP.NET Core. Использую MailKit для отправки почты. Проблема такова: невозможно подключиться к SMTP...

Ошибка при отправке почты!!!
Я тут написал прогу отправка почты, запускаю прогу, кликаю на Кнопку отправвить и тут есть ошибка ! Раньше это прога на XP работала,...

Ошибка 0х800ссс78 при отправке почты
Товарищи прошу помощи уже не знаю что и делать Outlokk выдает ошибку также как и все имеющиеся почтовики. Все сообщение проходят через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru