MimeMessageを使ってメール送信すると、受信側に余計な空白が付くケースがあります。 各行の先頭が空白の場合に、1つ空白が増える形となります。


この仕組みをご存じの方はいますでしょうか?
送信側のプログラムはGAEクラウドで動作しています。


------------ プログラム
MimeMessage message = new MimeMessage(session);
String msg = "";
msg += " 234\n"; ← 先頭の空白は1つ
msg += "1234\n";
message.setText(msg);
Transport.send(message);

------------ 受信側
234 ← 先頭の空白が2つになる!
1234

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/12/14 01:09:11
  • 終了:2012/12/21 01:10:03

回答(3件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202012/12/14 08:00:49

ポイント67pt

送信前に下記のように文字コードを指定してみてください。

message.setText(msg, "ISO-2022-JP");

GAEのJavaMailとj2sdkのバージョンは何でしょう?
バージョンによる未解決バグかもしれません。

id:oil999

JavaMailの最新バージョンは1.4.5です。
http://www.oracle.com/technetwork/java/javamail/javamail-138606.html

2012/12/16 13:53:44
id:alesi_sato

AppEngineSDK 1.5.2
JDK 1.7.0
JavaMailのバージョン、というものがあるのでしょうか。 これはわかりませんでした。

送信前に文字コード指定してみましたが、同じ結果でした。。。

id:zzman No.2

燕雀安知鴻鵠之志回答回数285ベストアンサー獲得回数362012/12/20 01:18:56

ポイント67pt

まずは送信されたメールの内容をプレーンテキストで確認してみるのが肝要かと存じます。
不要な空白が増えるようにMIMEENCODEされていれば送信側の問題であると決めてよろしいかと存じますが受信側のメイラーが正しくデコーデできていない可能性も排除できません。

最初の回答した方がおっしゃられるようにJavaMailにもバージョンはいろいろありそのときどきでバグがあったことはあったようです。
http://www.sk-jp.com/book/javamail/contents/javamail_ja_prob.html
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18213&forum=12

id:boost_beast No.3

boost_beast回答回数785ベストアンサー獲得回数312012/12/20 21:18:48

ポイント66pt

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18213&forum=12

似たような症状が出ているのでこちらが参考になるかと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません