non vorrei lavorare

2020年度からの小学校プログラミング教育の必修化を親として迎えるブロガーの書く、子供との日常

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年前の記事