web-dev-qa-db-ja.com

プログラムで自動メールを送信する

プログラムでメールを送信したい。

私は次のコードを試しました。

最終的なインテントemailIntent = new Intent(Android.content.Intent.ACTION_SEND);

  emailIntent.setType("plain/text");

  emailIntent.putExtra(Android.content.Intent.EXTRA_EMAIL,
          new String[] { "[email protected]" });

  emailIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT,
          "Email Subject");

  emailIntent.putExtra(Android.content.Intent.EXTRA_TEXT,
          "Email Body");

  startActivity(Intent.createChooser(
          emailIntent, "Send mail..."));

しかし問題は、電子メールを送信する前にアプリケーションがアクティビティを開くことです

alt text

作成中のアクティビティを開かずに直接メールを送信したい。これはどのように可能ですか?

28
Kamran Omar

リンクを見てください、あなたの質問に対する答えがあります。

メール送信Androidデフォルト/組み込みアプリを使用せずにJavaMail APIを使用

31
Beasly

それが最も簡単な方法かもしれません

    String recipientList = mEditTextTo.getText().toString();
    String[] recipients = recipientList.split(",");

    String subject = mEditTextSubject.getText().toString();
    String message = mEditTextMessage.getText().toString();

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, recipients);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.putExtra(Intent.EXTRA_TEXT, message);

    intent.setType("message/rfc822");
    startActivity(Intent.createChooser(intent, "Choose an email client"));
1
Shivam Gautam

参照されたリンクには正しい答えがありますが、作業を容易にするとするために一部のライブラリと書かれています。

したがって、すべてのコードを再度記述するのではなく、これらのライブラリのいずれかを使用して、短時間で作業を完了してください。

1
Khemraj