powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JavaMail
15 сообщений из 15, страница 1 из 1
JavaMail
    #33474159
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите раздуплиться.
Вот раскопал пример в нем кусок кода для установки свойств сервера
Код: plaintext
1.
2.
3.
4.
5.
Properties props =  new  Properties();
       1 )  props.setProperty("mail.transport.protocol", "smtp");
       2 )  props.setProperty("mail.host", "smtp.mymailserver.com");
       3 )  props.setProperty("mail.user", "myuser");
       4 )  props.setProperty("mail.password", "mypwd");
Не могу вдуплить чем отличается 1) от 2) и что устанавливается в 3) и 4)
Пишу заместь
Код: plaintext
1.
props.setProperty("mail.transport.protocol", "mail");
выдает ошибку:
Код: plaintext
1.
2.
3.
4.
5.
6.
javax.mail.NoSuchProviderException: Invalid protocol:  null 
	at javax.mail.Session.getProvider(Session.java: 412 )
	at javax.mail.Session.getTransport(Session.java: 631 )
	at javax.mail.Session.getTransport(Session.java: 612 )
	at javax.mail.Session.getTransport(Session.java: 598 )
	at mail_java.SimpleMail.main(SimpleMail.java: 19 )
Mail-это smtp моего почтового сервера.
Вообще куда что вставлять
...
Рейтинг: 0 / 0
JavaMail
    #33474263
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 - тип сервера, видимо (может быть например и imap), 2 - его адрес

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
JavaMail
    #33474357
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только что у админа своего спросил настройки, все прописал, но работать не хочет:
props.put("mail.smtp.host", "mail");
props.setProperty("mail.host", "mail.mtu.gov.ua");
та же ошибка вылетает
Telnetom заходит, а так не хочет, че ему надо?
...
Рейтинг: 0 / 0
JavaMail
    #33474391
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В JavaMail есть файл demo/registry.java, и з которого вроде как следует, что в нем самом реализованы два транспортных протокола:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
// set smtp and imap to be our default 
// transport and store protocols, respectively
props.put("mail.transport.protocol", "smtp");
props.put("mail.store.protocol", "imap");

// 
props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport");
props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore");

Я это свойство вообще пока не использую. Убери его и покажи весь код класса. Если твой SMTP-сервер требует аутенификации, то еще следует выставлять:
Код: plaintext
props.put("mail.smtp.auth", "true");
...
Рейтинг: 0 / 0
JavaMail
    #33474409
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovВ JavaMail есть файл demo/registry.java, и з которого вроде как следует, что в нем самом реализованы два транспортных протокола:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
// set smtp and imap to be our default 
// transport and store protocols, respectively
props.put("mail.transport.protocol", "smtp");
props.put("mail.store.protocol", "imap");

// 
props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport");
props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore");

Я это свойство вообще пока не использую. Убери его и покажи весь код класса. Если твой SMTP-сервер требует аутенификации, то еще следует выставлять:
Код: plaintext
props.put("mail.smtp.auth", "true");

Вот класс:
Код: 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.
 class  SimpleMail {
     public   static   void  main(String[] args)  throws  Exception{
        System.out.println("Sending mail...");
        Properties props =  new  Properties();
        props.put("mail.transport.protocol", "smtp");
        props.setProperty("mail.host", "mail.mtu.gov.ua");

        Session mailSession = Session.getDefaultInstance(props,  null );
        mailSession.setDebug(true);
        Transport transport = mailSession.getTransport();

        MimeMessage message =  new  MimeMessage(mailSession);
        message.setSubject("HTML  mail with images");
        message.setFrom( new  InternetAddress("admin@mail.ru"));
        message.setContent("<h1>лыовалыовал</h1>", "text/html");
        message.addRecipient(Message.RecipientType.TO,
              new  InternetAddress("xxx@mail.ru"));

        transport.connect();
        transport.sendMessage(message,
            message.getRecipients(Message.RecipientType.TO));
        transport.close();
        }
   }
И так и так не хочет.Аутентификация не требуется.IMAP -а тоже нет
...
Рейтинг: 0 / 0
JavaMail
    #33474416
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, когда ставлю:
Код: plaintext
1.
 props.put("mail.transport.protocol", "smtp");
           props.setProperty("mail.host", "mail.mtu.gov.ua");
вылетает уже другая ошибка:
Код: plaintext
1.
2.
3.
java.lang.NoClassDefFoundError: javax/activation/DataSource
	at mail_java.SimpleMail.main(SimpleMail.java: 27 )
Exception in thread "main" 
Валится на строчке:
Код: plaintext
1.
MimeMessage message =  new  MimeMessage(mailSession);
...
Рейтинг: 0 / 0
JavaMail
    #33474485
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
 import  javax.mail.Message;
 import  javax.mail.Session;
 import  javax.mail.Transport;
 import  javax.mail.internet.InternetAddress;
 import  javax.mail.internet.MimeMessage;
 import  java.util.Properties;

 public   class  SimpleMail {

   private   static   final  String HOST = "mail.mtu.gov.ua";

   private   static   final  String FROM = "admin@mail.ru";

   private   static   final  String TO = "xxx@mail.ru";

   public   static   void  main(String[] args)
     throws  Exception {
    Properties props =  new  Properties();
    props.setProperty("mail.host", HOST);

    Session session = Session.getDefaultInstance(props,  null );
    session.setDebug(true);

    MimeMessage message =  new  MimeMessage(session);
    message.setSubject("HTML mail with images");
    message.setFrom( new  InternetAddress(FROM));
    message.setContent("<h1>xxx</h1>", "text/html");
    message.addRecipient(Message.RecipientType.TO,  new  InternetAddress(TO));
    Transport.send(message);
  }
}
И борись с кодировкой;)
...
Рейтинг: 0 / 0
JavaMail
    #33474509
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Денис, только вот все-равно исключение вылетает, скопировал код в точности как ты написал, запускаю,получаю:
Код: plaintext
1.
2.
3.
java.lang.NoClassDefFoundError: javax/activation/DataSource
	at mail_java.SimpleMail.main(SimpleMail.java: 24 )
Exception in thread "main" 
Выделяет снова эту строчку:
Код: plaintext
MimeMessage message =  new  MimeMessage(session);
Что ему еще надо
...
Рейтинг: 0 / 0
JavaMail
    #33474529
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это JavaMail'у требуется JavaBeans Activation Framework , он же JAF.
...
Рейтинг: 0 / 0
JavaMail
    #33474583
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо Денис
...
Рейтинг: 0 / 0
JavaMail
    #34212557
crashc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ борись с кодировкой;)
Дык, точно...
А как ее бороть то ? ;)
...
Рейтинг: 0 / 0
JavaMail
    #34212684
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crashcА как ее бороть то ? ;)
Указывать ее: http://www.jug.ru/servlets/index?page=rus#javamail
Код: plaintext
1.
2.
3.
4.
5.
6.
 static   final  String ENCODING = "koi8-r";
...
MimeMessage message =  new  MimeMessage(session);
...
message.setSubject("Тестовое письмо", ENCODING);
message.setText("Текст тестового письма", ENCODING);
...
Рейтинг: 0 / 0
JavaMail
    #34213099
crashc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно...
Но просто необходимо отправить это все в формате html
message.setContent("<h1>xxx</h1>", "text/html");
mimbody.setText(out.toString(),"Windows-1251");

В первом случае, как надо, но только с кодировкой трабла...
Во втором же, кодировка в порядке, но совсем не в формате html приходит...
...
Рейтинг: 0 / 0
JavaMail
    #34213138
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crashcНо просто необходимо отправить это все в формате html
Код: plaintext
1.
2.
3.
4.
5.
6.
//message.setText("Текст тестового письма", ENCODING);
message.setDataHandler(
   new  DataHandler(
     new  ByteArrayDataSource("<b>Текст тестового письма</b>", "text/html;charset=" + ENCODING)
  )
);
...
Рейтинг: 0 / 0
JavaMail
    #34213418
crashc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Денис, приблагодарен!!!
Человеческое спасибо!!!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JavaMail
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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