1

このコードを使用して、Java アプリケーションで電子メールを送信しています

        try{
            Email email = new SimpleEmail();
            email.setHostName("smtp.googlemail.com");
            email.setSmtpPort(587);
            email.setAuthenticator(new DefaultAuthenticator("me@gmail.com", "mypwd"));
            email.setTLS(true);

                email.setFrom("me@gmail.com");

            email.setSubject("TestMail");
            email.setMsg("This is a test mail ... :-)");
            email.addTo("me@hotmail.com");
            email.send();
            System.out.println("Mail sent!");
            } catch (EmailException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

完全に機能し、受信トレイにメールを受信して​​いますが、GWT (Appengine プロジェクト) サーバー側に同じコードを配置すると、機能しません No Errors 、 no exception を示し、 mail sent と表示されますが、実際には送信されませんでした私の受信トレイに。

これも試してみました

       try {
                Message msg = new MimeMessage(session);
                msg.setFrom(new InternetAddress("appname@appspot.gserviceaccount.com", "Example.com Admin"));
                msg.addRecipient(Message.RecipientType.TO,
                                 new InternetAddress("myemail@gmail.com", "Mr. User"));
                msg.setSubject("Your Example.com account has been activated");
                msg.setText(msgBody);
                Transport.send(msg);

            } catch (AddressException e) {
                // ...
            } catch (MessagingException e) {
                // ...
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

ガイドしてください

ありがとう

4

5 に答える 5

2

これを見てください: Mail Go API の概要

エラーがないため、エラーは発生しません。
メールは送信されますが、上記の制限により受信できません。

于 2012-05-09T10:54:01.133 に答える
1

これは、 developers.google.comから参照されている作業コードです。

public String sendMail(String from, String to, String replyTo, String subject, String message) {
        String output=null;
        Properties props = new Properties();
        Session session = Session.getDefaultInstance(props, null);

        try {
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress(from, "Gmail.com Admin"));
            msg.addRecipient(Message.RecipientType.TO,
                             new InternetAddress(to, "Mr. User"));
            msg.setSubject(subject);
            msg.setText(message);
            msg.setReplyTo(new InternetAddress[]{new InternetAddress(replyTo)});
            Transport.send(msg);

        } catch (Exception e) {
            output=e.toString();                
        }   
        return output;
    }

developers.google.comからの参照により、送信者アドレス ( from) は次のいずれかのタイプである必要があります。

  • アプリケーションの登録管理者のアドレス

  • Google アカウントでログインしている現在のリクエストのユーザーのアドレス。ユーザー API を使用して、現在のユーザーの電子メール アドレスを確認できます。ユーザーのアカウントは、Gmail アカウントであるか、Google Apps によって管理されているドメインにある必要があります。

  • アプリの有効なメール受信アドレス (xxx@APP-ID.appspotmail.com など)。

    私はそれを試してみましたが、ホストされたgwtアプリケーションで動作します。

于 2012-12-13T12:55:02.263 に答える
0

AddressExceptionが発生し、エラーを表示せずに飲み込んでいますか?

これはサポートされていない「差出人」アドレスであるため、私は尋ねます。

appname@appspot.gserviceaccount.com

そのはず:

anything@appid.appspotmail.com

または、管理者またはサインインしたユーザーの電子メールアドレス。こちらのルールをご覧ください:

https://developers.google.com/appengine/docs/java/mail/usingjavamail#Senders_and_Recipients

于 2012-05-09T14:27:06.243 に答える
0

同じ問題、これは私にとってはうまくいきます、あなたにも100%うまくいきます(Eclipseを使用している場合)。

メールを送信すると、実際には localhost サーバーに送信されました。そのため、App Engine 管理コンソールから個人の App Engine を作成する必要があります。

そのためには、このリンクに移動し、アプリケーション識別子を書き込むよりも、アプリ エンジンを作成し、アプリケーションを作成するために使用するアカウントを選択します (このアプリケーション識別子に注意してください。これは、デプロイ中に Eclipse プロジェクトで機能した後です) 。

次に、アプリケーション設定で、このConfigured Servicesを見つけます。アプリケーションに許可を与える必要があるため、アプリケーション言語 Java/Python/Go を選択します。その後、web.xml に書き込む必要があるインバウンド サービスにリダイレクトされます。

Eclipse からプロジェクトを右クリックし、Google -> Deploy to app Engine に移動し、先ほどメモした Application ID フィールドに Application ID を書き込みます。まず、アプリエンジンをインストールする必要があることを確認してください。

クリックして終了します。ブラウザが自動的に開くため、デプロイには時間がかかります。これで、gwt アプリケーションがサーバー上に配置されました。楽しみ :)

于 2014-03-21T13:02:08.487 に答える
0

これを実装する

https://developers.google.com/appengine/docs/java/mail/usingjavamail

于 2012-05-09T10:54:41.670 に答える