- PR -

メールヘッダの日本語subject

1
投稿者投稿内容
イセ
会議室デビュー日: 2004/06/30
投稿数: 6
投稿日時: 2004-06-30 10:15
初めまして
servletでの開発をやっております。
SmtpClientを使用してメール送信プログラムを作成したのですが、
件名を日本語で送信すると文字化け(?)してしまいます。
MimeMessageも使用してみたのですが、やはり上手くいきません。
どうしたらよいでしょうか。
ご教授願います。
タラン
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 138
投稿日時: 2004-06-30 10:20
MimeMessage mimeMessage = new MimeMessage(session);

mimeMessage.setSubject("あああ","iso-2022-jp");

こういうふうにしても化けますか?

確認してみてください。


イセ
会議室デビュー日: 2004/06/30
投稿数: 6
投稿日時: 2004-06-30 12:12
>MUSEさん
ご返信ありがとうございます。

その方法でやってみましたが、化けてしまいました。
一体何が原因なのでしょう???
javaは初心者なので、難しいです…
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-06-30 12:53
ロケールの影響を受けてるのかな?

こっちではどうでしょう。

MimeMessage mimeMessage = new MimeMessage( session );
String encordedstr = MimeUtility.encodeText("ほげほげ", "iso-2022-jp", "B");
mimeMessage.setSubject( encordedstr );
イセ
会議室デビュー日: 2004/06/30
投稿数: 6
投稿日時: 2004-06-30 13:26
>Edossonさん
ご返信ありがとうございます

実はsubjectだけでなく、本文も化けてたのですが、
Edossonさんから教わった形でsubject、本文ともにやってみたところ
本文に"てすと"と入力したのですが、
"=?iso-2022-jp?B?ISkhKSEpISkhKSEp?="となってしまいました。
これってBase64でしたっけ?
とにかくこのような形になってしまいました。
subjectも相変わらず化けたままです・・・
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-06-30 13:51
引用:

"=?iso-2022-jp?B?ISkhKSEpISkhKSEp?="となってしまいました。
これってBase64でしたっけ?


ISO-2022-JP形式です。「RFC 1468符号化表現」という言い方もあります。
Base64は添付ファイル(主にバイナリ)を変換するときに使われます。

引用:

subjectも相変わらず化けたままです・・・


コンテキストの設定は行いましたか?
こんな感じですが。

mimeMessage.setContent(encodedtext, "text/plain; charset=iso-2022-jp");

[ メッセージ編集済み 編集者: Edosson 編集日時 2004-06-30 13:53 ]
イセ
会議室デビュー日: 2004/06/30
投稿数: 6
投稿日時: 2004-06-30 14:01
>Edossonさん
何から何までご教授ありがとうございます
コンテキストの設定をしたところ、正常に表示されました。
本文もなんとかなったみたいです。
解決しました、ありがとうございました!
1

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