Форум программистов, компьютерный форум, киберфорум
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. Показов 8414. Ответов 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 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru