Comment envoyer un e-mail dans Android
Sous Android, vous pouvez utiliserIntent.ACTION_SEND
pour appeler un client de messagerie existant afin d'envoyer un e-mail.
Voir les extraits de code suivants:
Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); email.putExtra(Intent.EXTRA_SUBJECT, "subject"); email.putExtra(Intent.EXTRA_TEXT, "message"); email.setType("message/rfc822"); startActivity(Intent.createChooser(email, "Choose an Email client :"));
P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).
Run & test on real device only.
Si vous exécutez ceci sur l'émulateur, vous obtiendrez le message d'erreur: «No application can perform this action». Ce code ne fonctionne que sur un appareil réel.
1. Disposition Android
Fichier: res / layout / main.xml
2. Activité
Classe d'activité complète pour envoyer un e-mail. Lisez la méthodeonClick()
, elle devrait être explicite.
package com.example.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class SendEmailActivity extends Activity { Button buttonSend; EditText textTo; EditText textSubject; EditText textMessage; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonSend = (Button) findViewById(R.id.buttonSend); textTo = (EditText) findViewById(R.id.editTextTo); textSubject = (EditText) findViewById(R.id.editTextSubject); textMessage = (EditText) findViewById(R.id.editTextMessage); buttonSend.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String to = textTo.getText().toString(); String subject = textSubject.getText().toString(); String message = textMessage.getText().toString(); Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); //email.putExtra(Intent.EXTRA_CC, new String[]{ to}); //email.putExtra(Intent.EXTRA_BCC, new String[]{to}); email.putExtra(Intent.EXTRA_SUBJECT, subject); email.putExtra(Intent.EXTRA_TEXT, message); //need this to prompts email client only email.setType("message/rfc822"); startActivity(Intent.createChooser(email, "Choose an Email client :")); } }); } }
3. Demo
Voir éboulis par défaut, remplissez les détails et cliquez sur le bouton «envoyer».
Il invite votre client de messagerie existant à sélectionner.
Dans ce cas, j'ai sélectionnéGmail, et tous les détails précédents seront automatiquement renseignés sur le clientGmail.
Note
Android ne fournit pas d'API pour envoyer des e-mails directement, vous devez appeler le client de messagerie existant pour envoyer des e-mails.
Télécharger le code source
Téléchargez-le -Android-Send-Email-Example.zip (16 Ko)