- PR -

j2sdkのバージョンアップに伴うjavamaiでの問題

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/01/17
投稿数: 3
投稿日時: 2005-01-17 20:01
現在、javamailを利用したツールのバージョンアップの為に、
j2sdkのバージョンを上げたのですが、メール送信時に
全角文字列で本文を終了した際に「w)」が付いてしまうという現象が
発生してしまいました。

環境は、下記の通りです。
OS:WindowsXp(テスト用にXPでやっています)
j2sdk:j2sdk-1_3_1_14 → j2sdk-1_4_2_06 に変更
javamail:javamail-1_2

また、現象を再現する為に下記のような簡易コードを作成し、
メール送信を行い、参照した所「あw)w)」という表示になってしまいます。
※outlook expressで参照。
j2sdk-1_3_1_14では再現されず。
全角で終了している場合は全て再現される。

------------------------------------------------------------------
public class SendMail {
public static void main(String[] args) {
try {
Properties prop = System.getProperties();
// SMTPサーバー
prop.put("mail.smtp.host",SMTPサーバ);
Session session=Session.getDefaultInstance(props,null);
MimeMessage mimeMessage=new MimeMessage(session);
// 送信元メールアドレスと送信者名
mimeMessage.setFrom(new InternetAddress(送信元メールアドレス,送信者名,"iso-2022-jp"));
// 送信先メールアドレス
mimeMessage.setRecipients(Message.RecipientType.TO,送信先メールアドレス);
// メールタイトル
mimeMessage.setSubject("TestMail","iso-2022-jp");
// メール本文
mimeMessage.setText("あ","iso-2022-jp");
// メール形式
mimeMessage.setHeader("Content-Type","text/plain; charset=\\"iso-2022-jp\\"");
// 送信日付
mimeMessage.setSentDate(new Date());
// 送信
Transport.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
}
}
------------------------------------------------------------------

このような現象をご存知でしょうか?
また、対策方法等がありましたら教えて頂けないでしょうか?

すみませんが、よろしくお願い致します。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-01-17 21:14
確認せずに回答して申し訳ないのですが、JavaMailのバージョンも上げてみても一緒なんですかね。確か今、JavaMailのバージョンは 1.3.1ぐらいだったと思いますけど。
未記入
会議室デビュー日: 2005/01/17
投稿数: 3
投稿日時: 2005-01-17 21:38
先程、javamailのバージョンを1.3.2に上げ、j2sdk-1_4_2_06でも試してみましたが、
うまくいきませんでした。
ちなみに、javamail:1.3.2+j2sdk-1_3_1_14の場合は問題なく送信できました。
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-01-17 22:32
末尾に日本語が含まれていると余計な文字がつくみたいですね。
(しかもOutlook でしか再現しないです。)
これは javamail のバグっぽいです。
応急処置として末尾に半角スペースを入れてみてはいかがでしょう?
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2005-01-17 23:39
過去のスレッドに類似がありますが、参考になるでしょうか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12714&forum=12&5
未記入
会議室デビュー日: 2005/01/17
投稿数: 3
投稿日時: 2005-01-18 18:05
いろいろとご意見ありがとうございます。
半角スペースでは半角スペース分文字数が増え、改行文字では改行が増えますが、
メール本文は化ける事なく表示できました。

上記2つの方法を選択するか、バグが直るまで待つかという感じで、
その中でよいと思うものを選択するという感じですかね。

ご意見ありがとうございました。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2005-01-18 19:29
この問題、わりと有名なBugだと思ってたけど、
ずいぶん最近の日付で登録されてますね・・・

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211145

"ISO-2022-JP" の換わりに "\u0001ISO-2022-JP" を指定すると、Java1_4_1以前の
CharsetEncoderが使用されるので、一応このBugを回避することができます。
が、javamailでそれをやると、charset=に変な値が付いてしまいそう・・・

[ メッセージ編集済み 編集者: coasm 編集日時 2005-01-18 19:39 ]
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-01-18 20:53
ちょっと便乗質問です。
Jakarta Commons Emailってありますけど、これ、どうなんですかね?
メール送信に限ればJavaMailと同程度と考えていいんですかね?
ご存じの方いらっしゃいますか?

1

スキルアップ/キャリアアップ(JOB@IT)