web-dev-qa-db-fra.com

Envoyer un e-mail automatique par programme

je veux envoyer un e-mail par programme.

j'ai essayé le code suivant.

final Intent 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..."));

mais le problème est qu'avant d'envoyer un e-mail, l'application ouvre l'activité

alt text

je veux envoyer un e-mail directement sans activité de composition ouverte. comment cela est-il possible?

28
Kamran Omar
31
Beasly

Ce pourrait être le moyen le plus simple-

    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

Le lien référé a une réponse correcte, mais il existe des bibliothèques écrites pour rendre votre travail facile .

Donc, ne réécrivez pas tout le code, utilisez simplement l'une de ces bibliothèques et faites votre travail en peu de temps.

1
Khemraj