powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB и кодировка
9 сообщений из 9, страница 1 из 1
EJB и кодировка
    #34858901
EJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB
Гость
Доброго времени суток.
Есть проблема.
При посылке почты из EJB приходят знаки вопроса вместо русских букв.
Есть предположение что в ejb-jar.xml не то указано
вот кусок

Код: plaintext
1.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar  PUBLIC  "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

Подскажите как быть.
...
Рейтинг: 0 / 0
EJB и кодировка
    #34858904
EJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB
Гость
из сервлета посылается нормально
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859437
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копайте в сторону почты
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859458
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EJB
вот кусок

Код: plaintext
1.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar  PUBLIC  "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

Подскажите как быть.
К вашей проблеме этот кусок не имеет ни малейшего отношения.
Смотрите код, который отсылает письмо (какая кодировка проставляется в письме).
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859631
EJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB
Гость
В том-то и дело, что с кодом который отсылает почту все в порядке, если отсылать не из EJB, то приходит как надо.
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859759
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EJBВ том-то и дело, что с кодом который отсылает почту все в порядке, если отсылать не из EJB, то приходит как надо.
Чтобы поставить диагноз нужно смотреть как тестилось не из EJB.
Использована ли та же Javamail либа что и в сервере приложений? Использовалась ли та же версия JVM? И ещё много других любопытных вопросов. Так что нет конкретики не будет и ответов.
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859814
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EJBВ том-то и дело, что с кодом который отсылает почту все в порядке, если отсылать не из EJB, то приходит как надо.
- в JVM есть настройки локализации. При отправки из EJB и из сервлета у Вас используются разные настройки локализации. Кардинальным решением проблемы является явное указание нужных настроек кодировки при отправке письма в JavaMail.
...
Рейтинг: 0 / 0
EJB и кодировка
    #34859872
EJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB
Гость
это посылка письма из сервлета

Код: 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.
String text="";
					
					
					text = " " + "Посылка почты из сервлета" + "\n";
		

		 	
					String to = "**";
					String from = "***";
					
					String subject = "***";
					String emailContent = text;
					String enc = "koi8-r";
					EmailBean emailer =  new  EmailBean();
					emailer.setTo(to);
					emailer.setFrom(from);
					emailer.setSubject(subject);
					emailer.setContent(emailContent);
					 try  {

						emailer.sendMessage();

					}  catch  (SendFailedException e) //Exception e)
						{
						e.printStackTrace();

			
					}  catch  (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

EmailBean:

Код: 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.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
 package  bf.nio.utils.mail;

 import  java.util.Properties;

 import  javax.mail.Message;
 import  javax.mail.MessagingException;
 import  javax.mail.Transport;
 import  javax.mail.internet.InternetAddress;
 import  javax.mail.internet.MimeMessage;
 import  javax.naming.NamingException;

 public   class  EmailBean {

	//	set defaults
	 private   final   static  String DEFAULT_CONTENT = "Unknown content";
	 private   final   static  String DEFAULT_SUBJECT = "Unknown subject";
	 private   static  String DEFAULT_SERVER =  null ;
	 private   static  String DEFAULT_TO =  null ;
	 private   static  String DEFAULT_FROM =  null ;
	 static   final  String DEFAULT_ENCODING = "koi8-r";

	 private   static  javax.mail.Session mail_session =  null ;

	//JavaBean properties
	 private  String smtpHost;
	 private  String to;
	 private  String from;
	 private  String content;
	 private  String subject;

	 private  String encoding = DEFAULT_ENCODING;

	 public  EmailBean() {

		 try  {
			javax.naming.InitialContext ctx =  new  javax.naming.InitialContext();
			EmailBean.mail_session =
				(javax.mail.Session) ctx.lookup("java:comp/env/NIO_Mail");
		}  catch  (NamingException ne) {
			ne.printStackTrace();
			 throw   new  NullPointerException(
				"Не возможно связать имя! Message:" + ne.getMessage());

		}

	}

	

	 public   void  sendMessage()  throws  Exception {

		MimeMessage mailMsg =  new  MimeMessage(EmailBean.mail_session);
		InternetAddress[] addresses =  null ;

		 try  {
			 if  (to !=  null ) {
				//throws 'AddressException' if the 'to' email address
				//violates RFC822 syntax
				addresses = InternetAddress.parse(to, false);
				//выбрасываем исключение 'AddressException' если адрес получателя нарушает синтаксис, установленный в RFC822
				mailMsg.setRecipients(Message.RecipientType.TO, addresses);
			}  else  {
				 throw   new  MessagingException("The mail message requires a 'To' address.");
			}
			 if  (from !=  null ) {
				mailMsg.setFrom( new  InternetAddress(from));
			}  else  {
				 throw   new  MessagingException("The mail message requires a valid 'From' address.");
			}
			 if  (subject !=  null )
				mailMsg.setSubject(subject, encoding);

			 if  (content !=  null )
				mailMsg.setText(content, encoding);

			Transport.send(mailMsg);

		}  catch  (Exception exc) {
			exc.printStackTrace();
			 throw  exc;
		}

	} //sendMessage

	//	***SETTERs***
	 public   void  setSmtpHost(String host) {

		 if  (check(host)) {
			 this .smtpHost = host;
		}  else  {
			 this .smtpHost = EmailBean.DEFAULT_SERVER;
		}

	} //setSmtpHost

	 public   void  setTo(String to) {

		 if  (check(to)) {
			 this .to = to;
		}  else  {
			 this .to = EmailBean.DEFAULT_TO;
		}

	} //setTo

	 public   void  setFrom(String from) {

		 if  (check(from)) {
			 this .from = from;
		}  else  {
			 this .from = EmailBean.DEFAULT_FROM;
		}

	} //setfrom

	 public   void  setSubject(String subject) {

		 if  (check(subject)) {
			 this .subject = subject;
		}  else  {
			 this .subject = EmailBean.DEFAULT_SUBJECT;
		}

	} //setSubject

	 public   void  setContent(String content) {

		 if  (check(content)) {
			 this .content = content;
		}  else  {
			 this .content = EmailBean.DEFAULT_CONTENT;
		}

	} //setContent

	 public   void  setEncoding(String encoding) {

		 if  (check(content)) {
			 this .encoding = encoding;
		}  else  {
			 this .encoding = EmailBean.DEFAULT_ENCODING;
		}

	} //setEncoding
	//	---SETTERs---

	 private   boolean  check(String value) {

		 if  (value ==  null  || value.equals(""))
			 return  false;

		 return  true;
	} //check

}

...
Рейтинг: 0 / 0
EJB и кодировка
    #34860079
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно это было, долго боролся, причин не помню, но кончилось все MimeMultipart. Там все получилось, осталось правда смутное ощущение что аутглюк косячил
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB и кодировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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