powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка почты
5 сообщений из 5, страница 1 из 1
отправка почты
    #34391086
gaval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу отправить почту
использую следующий код
Код: plaintext
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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
  private   void  sendMessage(){
        //sd.show();
         try {
        connect();
        Message mes =  new  MimeMessage(session);
        mes.setFrom( new  InternetAddress(from_mail));
        System.out.println(from_mail);
        mes.setRecipient(Message.RecipientType.TO, new  InternetAddress(to.getText()));
        mes.setSubject(subject.getText());
        mes.setSentDate( new  Date());
        mes.setText(body_mes.getText());
        System.out.println("created message");
        System.out.println(mes);
        System.out.println(to.getText());
        Transport.send(mes);
            //sd.dispose();
        JOptionPane.showMessageDialog( null ,"Сообщение отправлено","",JOptionPane.INFORMATION_MESSAGE);
        } catch (Exception e){
            e.printStackTrace();
            //sd.dispose();
            JOptionPane.showMessageDialog( null ,"Ошибка отправки","",JOptionPane.ERROR_MESSAGE);
        }
        
    }
     private   void  connect(){
        
        StringBuffer connectUrl =  new  StringBuffer();
        connectUrl.append("pop3://");
        connectUrl.append(login+":");
        connectUrl.append(pass+"@");
        connectUrl.append(server+"/");
        Store store =  null ;
        System.out.println(connectUrl);
         try {
            Properties prop =  new  Properties();
            prop.put("mail.smtp.auth",true);
            session = Session.getInstance(prop, null );
            URLName url =  new  URLName(connectUrl.toString());
            System.out.println(url);
            store = session.getStore(url);
            store.connect();
            System.out.println("connected");
        } catch (Exception e){
            e.printStackTrace();
            //sd.dispose();
            JOptionPane.showMessageDialog( null ,"Ошибка соеденения","",JOptionPane.ERROR_MESSAGE);
        }
    }
выдает ошибку
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1247)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:340)
at javax.mail.Service.connect(Service.java:275)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)

подскажите вчем ошибка
...
Рейтинг: 0 / 0
отправка почты
    #34391153
gaval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
prop.put("mail.smtp.host",smtp);
в коде небольшая ошибка
теперь ошибка такого типа
javax.mail.SendFailedException: Invalid Addresses
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1161)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:554)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
...
Рейтинг: 0 / 0
отправка почты
    #34391171
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот кусок вполне рабочего кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
            Properties mailProps =  new  Properties();
            mailProps.put("mail.transport.protocol", "smtp");
            mailProps.put("mail.smtp.host", smtpHost);
            /* 
            надо использовать getInstance, т.к.
            "в javadoc к этому методу сказано, что передаваемые проперти 
            используются долько в случае, если создается новая сессия. Есть 
            вероятность что где-то или в томкате или в приложении настроена 
            дефултная сессия, причем настроена она именно на локальный хост. 
            Попробуй просто Session.getInstance"
            подробнее: http://www.rsdn.ru/Forum/Message.aspx?mid=2164350&only=1
            */
            //Session mailSession = Session.getDefaultInstance(mailProps);
            Session mailSession = Session.getInstance(mailProps);

            MimeMessage message =  new  MimeMessage(mailSession);
            
            message.setFrom( new  InternetAddress(md.mailFrom));
            message.setRecipient(Message.RecipientType.TO,  new  InternetAddress(md.infoUser.getEMail()));
            message.setSubject(subject, EM_ENCODING);
            message.setText(text, EM_ENCODING);
            message.setSentDate( new  java.util.Date());
            
            Transport.send(message);
еще можно посмотреть в сторону commons-email. Но там есть проблема с кириллицей, хотя и легко решаемая
...
Рейтинг: 0 / 0
отправка почты
    #34391199
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
отправка почты
    #34391311
gaval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо разобрался
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка почты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]