powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Mail + attach file
10 сообщений из 10, страница 1 из 1
Mail + attach file
    #33192506
livan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает part.setDataHandler(new DataHandler(fds)) ;

MimeBodyPart part = new MimeBodyPart() ;
FileDataSource fds = new FileDataSource( "c:\\test.xml" ) ;

part.setDataHandler(new DataHandler(fds)) ;
part.setFileName( fds.getName() ) ;
и т.д.

библиотеки mail.jar, activation.jar находятся в common/lib.

Что неправильно ?
...
Рейтинг: 0 / 0
Mail + attach file
    #33192519
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь код отправки покажи.
...
Рейтинг: 0 / 0
Mail + attach file
    #33192536
livan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответ, без аттача письмо ездит.
Аттач не получается, хоть стреляй.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Context initCtx =  new  InitialContext() ; 
Context envCtx  = (Context) initCtx.lookup( "java:comp/env" ) ; 
Session session = (Session) envCtx.lookup( "mail/Session" ) ; 
String filename = "c:\\gmail.jpg" ;
session.setDebug(true) ; 

MimeMessage message =  new  MimeMessage(session) ;
message.setFrom( new  InternetAddress(from)) ; 
InternetAddress dests[] =  new  InternetAddress[] {  new  InternetAddress(to) } ; 
message.setRecipients(Message.RecipientType.TO, dests) ; 

message.setSubject(subject) ; 
String fileAttachment = "c:\\test.xml";

MimeBodyPart part =  new  MimeBodyPart() ;
FileDataSource fds =  new  FileDataSource(fileAttachment);

part.setDataHandler( new  DataHandler(fds));
part.setFileName(fds.getName());

MimeMultipart mult =  new  MimeMultipart() ;
mult.addBodyPart(part) ;
message.setContent(mult) ;
Transport.send(message) ;
...
Рейтинг: 0 / 0
Mail + attach file
    #33192548
javamailer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Mail + attach file
    #33192549
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, у меня пришло, и с файлом. Из консоли, получается отправить письмо с файлом?
...
Рейтинг: 0 / 0
Mail + attach file
    #33192588
livan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, спасибо за ответ,

У меня из client app тоже работает без проблем.
Аттачит, посылает, короче все нормально.
Из сервлета не хочет.
Затыкается на том же .
Есть идеи ?
...
Рейтинг: 0 / 0
Mail + attach file
    #33192602
livan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код в сервлете.
Сейчас валится на message.setContent(mult) ;
и почему-то не получаю exception ?
Что может быть ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
       
//  Prepare our mail message
Message message =  new  MimeMessage(session) ; 
message.setFrom( new  InternetAddress(from)) ; 
InternetAddress dests[] =  new  InternetAddress[] {  new  InternetAddress(_to) } ; 
message.setRecipients(Message.RecipientType.TO, dests) ; 
message.setSubject("attach") ; 
String fileAttachment = "c:\\test.doc" ; 
MimeBodyPart part =  new  MimeBodyPart() ; 
FileDataSource fds =  new  FileDataSource(fileAttachment) ; 
part.setDataHandler( new  DataHandler(fds)) ; 
part.setFileName(fds.getName() ) ; 
MimeMultipart mult =  new  MimeMultipart() ;
mult.addBodyPart(part) ;

message.setContent(mult) ; <<< error .
Transport.send(message) ;
...
Рейтинг: 0 / 0
Mail + attach file
    #33194147
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как это: "валится", но без exception'а? Еще, хотя м.б. и ненужное: если попробовать создавать по крайней мере два MimeBodyPart'а, один для тела сообщения, а другой для файла?
...
Рейтинг: 0 / 0
Mail + attach file
    #33469161
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up!

Та же проблема.
У меня есть класс Mailer(ниже).

Юнит тест отрабатывает наура:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 public   class  MailerTest  extends  TestCase
    {
    	 public   void  testSendArchive(){
    	    
    	    Mailer m =  new  Mailer();
    	    File file =  null ;
    	     try {
    	    file =  new  File("C:\\DEVELOP\\Tomcat 5.5\\webapps\\dds\\WEB-INF\\classes\\tmp\\net.zip");
    	    }  catch  (Exception e){
    	        e.printStackTrace();
    	    }
    	  
    	    m.sendArchive("sender@sender.ru", "reciever@receiver.ru","рассылка","message body text",file);

    	    
    	    
    	    }
    }

В то время, как jsp страничка с тем же кодом тоже отрабатывает, но письмо приходит пустым.

Есть соображения у кого-нибудь?


Код: 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.
 package  mailer;

 import  java.sql.*;
 import  java.util.*;
 import  java.io.*;
 import  javax.mail.*;
 import  javax.mail.internet.*;
 import  javax.activation.*;

 public   class  Mailer {
MimeMessage message;

 public  Mailer() {
	Properties props =  new  Properties();
	props.put("mail.smtp.host","mail.server.ru");
	Session session=Session.getInstance(props, null );
	message= new  MimeMessage(session);
}


 public   void  sendArchive(String from, String to, String subject, String messageBody, File file) {
	 try  {
		message.setFrom( new  InternetAddress(from));
		message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
		message.setSubject(subject,"koi8-r");

		Multipart multipart =  new  MimeMultipart();
		MimeBodyPart messageBodyPart =  new  MimeBodyPart();
		messageBodyPart.setText(messageBody,"koi8-r");
		multipart.addBodyPart(messageBodyPart);

		messageBodyPart =  new  MimeBodyPart();
		DataSource source =  new  FileDataSource(file);
		messageBodyPart.setDataHandler( new  DataHandler(source));
		messageBodyPart.setFileName("the.zip");
		multipart.addBodyPart(messageBodyPart);
		message.setContent(multipart);


		Transport.send(message);
	}  catch (MessagingException e) {
		System.out.println(e.getMessage());
	}
}

}
...
Рейтинг: 0 / 0
Mail + attach file
    #33469934
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снят.
Причина:
было 2 разные библиотеки:

1. WEB-INF/classes/mail.jar
2. common/lib/mail.jar

Использовалась первая. Вот она, видимо и тараканила.(Вопрос "Почему" -остается открытым)
Убрал ее - заработало.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Mail + attach file
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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