Comment envoyer un email sous Android

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».

send email in android

Il invite votre client de messagerie existant à sélectionner.

send email in android

Dans ce cas, j'ai sélectionnéGmail, et tous les détails précédents seront automatiquement renseignés sur le clientGmail.

send email in android

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)