non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

Google App Engine(Java)日本語の件名でメールを送信する

 

Google App EngineAPIは一部、エンコードの指定出来るメソッドが端折られてる

とりあえず、Message#setSubjectで本来のJava Mail APIは第2引数でエンコードの指定が でき、ここで"iso-2022-jp"を指定すればOKなのだが、GAE/Jではそんなメソッドが無い! そこで、

ByteArrayOutputStream bao = new ByteArrayOutputStream();
String jis = new String(subject.getBytes("iso-2022-jp"));
OutputStream out = MimeUtility.encode(bao, "base64");
out.write(jis.getBytes("iso-8859-1"));
out.close();

msg.setSubject("=?iso-2022-jp?B?"+bao.toString("iso-8859-1")+"?=");

関連リンク

関連記事

メールつながり

 

5年前の記事

3年前の記事