MacOSXでJDK7_10とGAEMavenプラグインを使用してGAEAPI1.7.3を使用しています。
私のテストは多かれ少なかれドキュメントからコピーされています:
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("admin@example.com", "Example.com Admin"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("user@example.com", "Mr. User"));
msg.setSubject("Your Example.com account has been activated");
msg.setText(".....");
Transport.send(msg);
出力は次のとおりです。
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: MailService.send
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: From: "Example.com Admin" <admin@example.com>
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: To: "Mr. User" <user@example.com>
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Reply-to: "Example.com Admin" <admin@example.com>
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Subject: Your Example.com account has been activated
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Body:
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Content-type: text/plain
Dez 21, 2012 12:24:24 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Data length: 5
単体テストは、以下を使用して初期化されます。
protected LocalServiceTestHelper helper = new LocalServiceTestHelper(new LocalMailServiceTestConfig());
本当に奇妙なのは、「Body」が空であるのに、「Datalength」が5(「.....」に対応)であるということです。
これは正常ですか、それとも私はここで何を間違っていますか?
[更新]低レベルのAPIを使用する場合も同じです。
MailService service = MailServiceFactory.getMailService();
service.send(new MailService.Message(from, to, subject, text));