IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Envoyer email depuis application


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut Envoyer email depuis application
    hello,

    Voilà je voudrais envoyer un email depuis une application:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void obtenirAide(){
    		Intent email = new Intent(Intent.ACTION_SEND);
    		email.setType("message/rfc822");
    		email.putExtra(android.content.Intent.EXTRA_EMAIL,"email@gmail.com");
    		email.putExtra(Intent.EXTRA_SUBJECT, "Obtenir de l'aide");
    		email.putExtra(Intent.EXTRA_TEXT, "Saisir votre demande ici...");
    		email.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		startActivity(Intent.createChooser(email, "Choisir le logiciel"));
    	}
    Mais je n'arrive pas à définir le "FROM" avec l'adresse email de la personne qui demande de l'aide et définir "TO" on je défini mon une adresse fixe.

    Merci John

  2. #2
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Bonjour,

    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email.putExtra(android.content.Intent.EXTRA_EMAIL,"email@gmail.com");
    remplaces "email@gmail.com" par l'email de ton destinataire.

    Et je te conseillerai de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email.setType("message/rfc822");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email.setType("text/plain");
    Par contre je suis désolé je ne sais pas comment faire pour définir l'expéditeur.

    Bonne continuation.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Merci pour ta réponse,

    Oui je sais que il faut mettre l'adresse de la personne qui envoie l'email mais j'aimerais bien quel soit rempli automatique par l'email de l'utilisateur de l'application.

    Donc que l'email soit celui de l'utilisateur et non pas rentré en dur dans le code. Car chaque personne qui utilise l'application n'as pas le même adresse email.

    J'aimerais récupérer l'adresse email de l'utilisateur quand il veux envoyer un email pour une aide ou une suggestion.

    Merci d'avance.

    John

  4. #4
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Je ne sais pas si ça t'aide mais tu peux aussi utiliser GMail directement depuis ton application. Par contre l'utilisateur devra se logger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    GMailSender sender = new GMailSender(userid.getText().toString(), password.getText().toString());  
    try {  
         sender.sendMail(subject, body, from, to);  
    } 
    catch (Exception e) {  
         Log.e("SendMail", e.getMessage(), e);  
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Merci beaucoup je vais tester cela.

    John

  6. #6
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Oups, je viens de me rendre compte que j'ai oublié de te mettre le lien vers la classe GMailSender (qui n'existe pas par défaut).

    Voici la suite du code précédent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    public class GMailSender extends javax.mail.Authenticator {   
        private String mailhost = "smtp.gmail.com";   
        private String user;   
        private String password;   
        private Session session;   
     
        static {   
            Security.addProvider(new com.provider.JSSEProvider());   
        }  
     
        public GMailSender(String user, String password) {   
            this.user = user;   
            this.password = password;   
     
            Properties props = new Properties();   
            props.setProperty("mail.transport.protocol", "smtp");   
            props.setProperty("mail.host", mailhost);   
            props.put("mail.smtp.auth", "true");   
            props.put("mail.smtp.port", "465");   
            props.put("mail.smtp.socketFactory.port", "465");   
            props.put("mail.smtp.socketFactory.class",   
                    "javax.net.ssl.SSLSocketFactory");   
            props.put("mail.smtp.socketFactory.fallback", "false");   
            props.setProperty("mail.smtp.quitwait", "false");   
     
            session = Session.getDefaultInstance(props, this);   
        }   
     
        protected PasswordAuthentication getPasswordAuthentication() {   
            return new PasswordAuthentication(user, password);   
        }   
     
        public synchronized void sendMail(String subject, String body, String sender, String recipients) throws Exception {   
            try{
            MimeMessage message = new MimeMessage(session);   
            DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));   
            message.setSender(new InternetAddress(sender));   
            message.setSubject(subject);   
            message.setDataHandler(handler);   
            if (recipients.indexOf(',') > 0)   
                message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));   
            else  
                message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));   
            Transport.send(message);   
            }catch(Exception e){
     
            }
        }   
     
        public class ByteArrayDataSource implements DataSource {   
            private byte[] data;   
            private String type;   
     
            public ByteArrayDataSource(byte[] data, String type) {   
                super();   
                this.data = data;   
                this.type = type;   
            }   
     
            public ByteArrayDataSource(byte[] data) {   
                super();   
                this.data = data;   
            }   
     
            public void setType(String type) {   
                this.type = type;   
            }   
     
            public String getContentType() {   
                if (type == null)   
                    return "application/octet-stream";   
                else  
                    return type;   
            }   
     
            public InputStream getInputStream() throws IOException {   
                return new ByteArrayInputStream(data);   
            }   
     
            public String getName() {   
                return "ByteArrayDataSource";   
            }   
     
            public OutputStream getOutputStream() throws IOException {   
                throw new IOException("Not Supported");   
            }   
        }   
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    import java.security.AccessController;
    import java.security.Provider;
     
    public final class JSSEProvider extends Provider {
     
        public JSSEProvider() {
            super("HarmonyJSSE", 1.0, "Harmony JSSE Provider");
            AccessController.doPrivileged(new java.security.PrivilegedAction<Void>() {
                public Void run() {
                    put("SSLContext.TLS",
                            "org.apache.harmony.xnet.provider.jsse.SSLContextImpl");
                    put("Alg.Alias.SSLContext.TLSv1", "TLS");
                    put("KeyManagerFactory.X509",
                            "org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl");
                    put("TrustManagerFactory.X509",
                            "org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl");
                    return null;
                }
            });
        }
    }
    Encore désolé pour l'oubli.

  7. #7
    Membre confirmé
    Femme Profil pro
    Etudiante
    Inscrit en
    Juillet 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Juillet 2010
    Messages : 164
    Par défaut envoie d'un email gmail à partir de l'application
    Bonjour,

    J'ai un bouton et je veux onClick() sur ce bouton la fenêtre d'authentification gmail. Je veux envoyer un email via mon application.
    Est ce qu'il existe un api pour le réaliser. J'ai trouvé des codes mais je n'arrive pas à les tester. Je trouve des erreurs partout comme cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extends javax.mail.Authenticator
    Merci

  8. #8
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 246
    Par défaut
    Moi j'ai :
    • activation.jar
    • additionnal.jar
    • mail.jar


    J'ai mis un lien dans le topic de la fac android.

  9. #9
    Membre confirmé
    Femme Profil pro
    Etudiante
    Inscrit en
    Juillet 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Juillet 2010
    Messages : 164
    Par défaut
    Est ce que vous pouvez me donner le lien pour télécharger les .jar ?

  10. #10
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 246
    Par défaut
    Je l'ai dis, le lien est dans : Participez à la nouvelle FAQ Android [FAQ].

    Mais bon :
    http://code.google.com/p/javamail-android/

    Dans Downloads il y a les .jar.
    Dans Example il y a un exemple.

  11. #11
    Membre confirmé
    Femme Profil pro
    Etudiante
    Inscrit en
    Juillet 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Juillet 2010
    Messages : 164
    Par défaut récupérer la liste des contacts gmail
    merci pour votre réponse
    Est ce qu'on peut récupérer la liste des contacts gmail pour les faire afficher à l'utilisateur à partir de l'application android???

Discussions similaires

  1. [eZ Publish 5] envoyer email depuis template
    Par spawn_nico dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 06/10/2013, 12h14
  2. Configuer Swift mailer pour envoyer des emails depuis un formulaire PHP
    Par choupy26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 09/06/2010, 13h02
  3. [mysql]envoyer email depuis procedure stockee
    Par phicarre dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 19/10/2009, 22h50
  4. Envoyer un email depuis une adresse precise
    Par camcam8782 dans le forum Langage
    Réponses: 1
    Dernier message: 11/06/2009, 13h50
  5. [Mail] Envoyer un email depuis un site
    Par killer_instinct dans le forum Langage
    Réponses: 13
    Dernier message: 17/04/2007, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo