5

グーグルアプリエンジンを使用して、このコードで簡単なメールを送信しようとしています。しかし、何も起こりません。メールAPIを使用するために構成する必要があるものはありますか?これはローカルホストで実行されます。メールホストとしてGmailを使用しています。

   String host = "smtp.google.com";
String to = "example@yahoo.fr";
String from = "example@gmail.com";
String subject = "this is a test";
String messageText = "test";
boolean sessionDebug = false;
// Create some properties and get the default Session.
Properties props = System.getProperties();
props.put("mail.host", host);
props.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getDefaultInstance(props, null);

// Set debug on the Session
// Passing false will not echo debug info, and passing True will.

mailSession.setDebug(sessionDebug);

// Instantiate a new MimeMessage and fill it with the 
// required information.

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(messageText);

// Hand the message to the default transport service
// for delivery.

Transport.send(msg);
4

4 に答える 4

10

AppEngine開発サーバーをローカルで実行している場合、メールサービスを介して送信されたものは実際には送信されず、コンソールに記録されるだけです。

こちらをご覧ください

開発サーバーで実行されているアプリケーションがメールサービスを呼び出して電子メールメッセージを送信すると、メッセージがログに出力されます。Java開発サーバーは電子メールメッセージを送信しません。

また、from住所は(ここから)でなければなりません

  • アプリ管理者のメール
  • Googleアカウントを使用してサインインした現在ログインしているユーザーのメールアドレス
  • アプリからの有効なメール受信アドレス
于 2012-06-09T04:00:37.973 に答える
1

送信者は、ではなく自分のGmailメールアドレスである必要がありますexample@gmail.com

理由は、SMTPサーバーがユーザーを認証する必要があるためです。

于 2012-06-09T03:52:43.003 に答える
1

どうやら、GAEは管理者アカウントの使用を許可していません。サービスアカウントを使用する必要があります。project-id@appspot.gserviceaccount.com

以前のプロジェクトは引き続き管理者アカウントで機能しますが、最近作成されたプロジェクトでは、管理者アカウントを使用できません。

于 2016-04-01T13:08:35.483 に答える
0

ローカルホストでメールが機能しない、または送信者のメールが認証されていないために、バージョンがデフォルトでない場合でもメールが機能しないことを経験しました。私はこれがどこにも文書化されていませんでした。

例:( nondefaultversion-dot-myapp.appspot.comメールは機能しません、エラーログはありません) myapp.appspot.com(メールは機能します)

他の人もこの問題に直面していないか確認してください。

于 2014-09-25T05:38:34.450 に答える