2010-11-17 2 views
1

Я использую Apache Commons почты и признал, что предмет электронной почты (и другие параметры, такие как кодировка символов) не используются на всех:Java - SimpleMimeMessage не устанавливает субъекта

props.put("mail.smtp.host", "localhost"); 
    Session s = Session.getInstance(props, null); 
    s.setDebug(true); 

    MimeMessage message = new MimeMessage(s); 
    message.setHeader("Content-Type", "text/plain; charset=UTF-8"); 
    message.addHeader("Content-Transfer-Encoding", "quoted-printable"); 
    message.setFrom(new InternetAddress("[email protected]")); 
    message.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress("[email protected]")); 
    String subj = MimeUtility.encodeText(""); 
    message.setSubject("my subject with specials äöü"); 

    message.setText("Some text with special äöü"); 
    Transport.send(message); 

debbugging выходных шоу:

DEBUG SMTP: useEhlo true, useAuth false 
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false 
220 mydomain ESMTP Postfix 
DEBUG SMTP: connected to host "localhost", port: 25 

EHLO MyComputer 
250-PIPELINING 
250-SIZE 10485760 
250-VRFY 
250-ETRN 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 
DEBUG SMTP: Found extension "PIPELINING", arg "" 
DEBUG SMTP: Found extension "SIZE", arg "10485760" 
DEBUG SMTP: Found extension "VRFY", arg "" 
DEBUG SMTP: Found extension "ETRN", arg "" 
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" 
DEBUG SMTP: Found extension "8BITMIME", arg "" 
DEBUG SMTP: Found extension "DSN", arg "" 
DEBUG SMTP: use8bit false 
MAIL FROM:<[email protected]> 
250 2.1.0 Ok 
RCPT TO:<[email protected]> 
250 2.1.5 Ok 
DEBUG SMTP: Verified Addresses 
DEBUG SMTP: [email protected] 
DATA 
354 End data with <CR><LF>.<CR><LF> 

Some text with specials =C3=A4=C3=B6=C3=BC 
. 
250 2.0.0 Ok: queued as 9F623345F99 
QUIT 
221 2.0.0 Bye 

Насколько я понимаю, SUBJECT должен быть установлен в разделе DATA сообщения SMTP.

Как это исправить?

ответ

1

Если вы посмотрите на это (извините за кэшированную ссылку, но Oracle, похоже, эта ссылка (ре) перемещено или что-то):

кажется, что Apache Commons каким-то образом влияет на Java Mail. Пример, который вы предоставили, по-видимому, является стандартным способом отправки почты электронной почтой Java Mail. Таким образом, вы можете попробовать либо:

+0

Пробовал все. Не работал. – Klaus

+0

После установки объекта отладчик показывает, что тема, тип контента и кодирование передачи контента установлены правильно. – Klaus

+0

Однако после установки текста настройки содержимого и настройки передачи содержимого исчезли. – Klaus

0

У меня такая же проблема.

я удалить библиотеку

<artifactId>geronimo-javamail_1.4_spec</artifactId> 
<groupId>org.apache.geronimo.specs</groupId> 

из моего проекта.

Это работа для меня!

Смежные вопросы