GoogleAppEngine for JavaのMailAPI使用時の文字化けについて
今更ながら。
GAE/Jでメール送信するときに
javax.mail.Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("sender@{AppID}.appspotmail.com"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("moblog@example.com"));
((MimeMessage)msg).setSubject(mailsubject,"UTF-8"); //文字化け対策
msg.setText(msgBody);
Transport.send(msg);
というようなことをしていたけど、
Google App Engineでよくある質問 - あおうさ@日記:
http://d.hatena.ne.jp/bluerabbit/20100129/1264771990
このような記事があったので試してみた。
com.google.appengine.api.mail.MailService.Message
javax.mail.Message
↓にて書き換え
com.google.appengine.api.mail.MailService.Message msg =
new com.google.appengine.api.mail.MailService.Message();
msg.setSender("sender@{appID}.appspotmail.com");
msg.setTo("moblog@example.com");
msg.setSubject(mailsubject);
msg.setTextBody(msgBody);
MailServiceFactory.getMailService().send(msg);
GAE/Jでメール送信するときに
javax.mail.Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("sender@{AppID}.appspotmail.com"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("moblog@example.com"));
((MimeMessage)msg).setSubject(mailsubject,"UTF-8"); //文字化け対策
msg.setText(msgBody);
Transport.send(msg);
というようなことをしていたけど、
Google App Engineでよくある質問 - あおうさ@日記:
http://d.hatena.ne.jp/bluerabbit/20100129/1264771990
このような記事があったので試してみた。
JavaMailを使ってメール送信を実装していますが文字化けしてしまいます。Messageのパッケージ階層がことなっていて、両者のクラスであることに注意。
Google App Engineに最適化されたlow level apiを使用しましょう。下記のような簡潔なコードで文字化け問題ともおさらばです。
Message msg = new Message();
msg.setSender(fromAddress);
msg.setTo(toAddress);
msg.setSubject(subject);
msg.setTextBody(body);
MailServiceFactory.getMailService().send(msg);
com.google.appengine.api.mail.MailService.Message
javax.mail.Message
↓にて書き換え
com.google.appengine.api.mail.MailService.Message msg =
new com.google.appengine.api.mail.MailService.Message();
msg.setSender("sender@{appID}.appspotmail.com");
msg.setTo("moblog@example.com");
msg.setSubject(mailsubject);
msg.setTextBody(msgBody);
MailServiceFactory.getMailService().send(msg);
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。