Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка почты / 5 сообщений из 5, страница 1 из 1
14.03.2007, 17:32:49
    #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
14.03.2007, 17:45:39
    #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
14.03.2007, 17:49:21
    #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
14.03.2007, 17:57:05
    #34391199
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты
...
Рейтинг: 0 / 0
14.03.2007, 18:34:58
    #34391311
gaval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты
спасибо разобрался
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка почты / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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