2010-11-21 21 views
1

J'essaie d'envoyer un e-mail à une adresse spécifique en utilisant mon propre e-mail. Jusqu'à présent, je sais que je peux utiliser android.content.Intent.ACTION_SEND pour envoyer un courriel. Pour istance:Android Envoyer un e-mail (avec authentification par nom d'utilisateur et mot de passe) avec android.content.Intent.ACTION_SEND

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, 
    "Log-in Sucessful"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hi"); 

Activity context = null; 
context.startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

Cependant, je ne sais pas si ACTION_SEND peut accepter le nom d'utilisateur et mot de passe ainsi. Ce nom d'utilisateur et mot de passe sera essentiellement utilisé pour authentifier l'expéditeur de l'e-mail. C'est comme lorsque vous devez vous connecter à votre compte Gmail avant de pouvoir composer et envoyer un e-mail à quelqu'un.

Est-ce que vous connaissez par hasard une solution/un guide pour ce faire?

Merci les gars à l'avance

Répondre

1

Cependant, je ne sais pas si ACTION_SEND peut accepter le nom d'utilisateur et mot de passe ainsi.

Non, ce n'est pas le cas. Le client de messagerie doit avoir un compte de messagerie configuré.

2

CommonsWare est arrivé avant moi mais ce qu'il/elle a dit. : D

Fondamentalement ACTION_SEND est simplement une intention d'envoi «générique» (ion) et c'est le point du sélecteur. Exemple ... Si je sélectionne un contact sur mon téléphone pour envoyer un e-mail, j'ai le choix d'utiliser une application 'Mail' (SMTP/POP3/IMAP4) ou l'application GMail. Dans les deux cas, j'ai configuré ces applications avec les détails du nom d'utilisateur/mot de passe et, si nécessaire, les détails du serveur entrant/sortant nécessaires. En bref, le nom d'utilisateur/mot de passe est inutile car ACTION_SEND ne sait pas explicitement à quel serveur sortant ces détails s'appliquent. D'après ce que je peux dire, vous voulez automatiser complètement cela, ce qui suggère que vous devez créer votre propre code client SMTP qui vous permet de transmettre le nom d'utilisateur/mot de passe et les détails du serveur avec le message.