ユーザーがフォームに入力したときにメールを送信するためのシンプルなアプリを開発しています。
チュートリアルに従い、サンプルコードをコピーしました。しかし、実行しようとすると、次の例外がスローされます。
javax.servlet.ServletContext ログ: 着信 RPC 呼び出しのディスパッチ中の例外 com.google.gwt.user.server.rpc.UnexpectedException: サービス メソッド 'public abstract int com.pablo.pabloweb.client.communication.SendEmailService.send(java.lang .String)' が予期しない例外をスローしました: com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: 管理コンソールで課金が有効になると、このアプリケーションに対してソケット API が有効になります。com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:389) で com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:579) で com.google .gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) ...
私の質問は: 請求の詳細を設定せずに Mail API を使用する方法はありますか? 私のアプリケーションが制限を超える可能性は決してありません。
必要な場合、これは例外を引き起こすコードです:
public boolean actualSend(String msgText, String subject) {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("admin-gmail-email-address"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("another-personal-email-address"));
msg.setSubject(subject);
msg.setText(msgText);
Transport.send(msg);
return true;
} catch (AddressException e) {
return false;
} catch (MessagingException e) {
return false;
}
}