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

Windev Mobile Discussion :

Envoi email avec pièce attachée


Sujet :

Windev Mobile

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Avril 2019
    Messages : 1
    Points : 7
    Points
    7
    Par défaut Envoi email avec pièce attachée
    Bonjour,

    Sujet : envoi d'email avec pièce attachée sous Android.
    comme je n'avais pas trouvé de post avec solution (et que je viens de trouver la soluce), je partage … merci à ceux qui m'ont aidé.


    Le code (simple) suivant ne fonctionne pas : l'email est proposé à l'envoi sans la pièce attachée par l'application par défaut.

    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
     
    sFichierImage est une chaîne = AlbumSélecteur(albumImage)
     
    SI sFichierImage = "" ALORS
    Erreur("Impossible de prendre la photo.", ErreurInfo())
    RETOUR
    FIN
     
     
    Email.Destinataire="xxxxxxxx@gmail.com"
    Email.NbDestinataire =1
    Email.Sujet = "photo"
     
     
    Email.Attaché[1]=sFichierImage
    Email.NbAttache=1
     
    EmailLanceAppli()
    Explication :
    https://doc.pcsoft.fr/?9000108 : ce lien explique que les applications tierces ne peuvent communiquer entre elles des informations autrement qu'en passant par une carte de stockage externe.

    Solution 1 : envoi email par application tierce => utilisation du stockage externe
    (je code simple sans prendre les résultats booléen pour les traiter)
    Déplacement du fichier dans SysRepStockageExterne

    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
     
    sFichierImage est une chaîne = AlbumSélecteur(albumImage)
     
    SI sFichierImage = "" ALORS
    Erreur("Impossible de prendre la photo.", ErreurInfo())
    RETOUR
    FIN
    //Créer si nécessaire le répertoire SysRepStockageExterne+"\tmp\
    sFichierImageDéplacé est une chaine = SysRepStockageExterne+"\tmp\"+fExtraitChemin(sFichierImage, fFichier + fExtension)
    fDéplaceFichier(sFichierImage, sFichierImageDéplacé)
     
     
     
    Email.Destinataire="xxxxxxxx@gmail.com"
    Email.NbDestinataire =1
    Email.Sujet = "photo"
     
     
    Email.Attaché[1]=sFichierImageDéplacé 
    Email.NbAttache=1
     
    EmailLanceAppli()
     
    //ne pas oublier de supprimer sFichierImageDéplacé (et peut-être aussi le répertoire tmp) quand l'email a été envoyé par l'application tierce

    Solution 2 : envoi email par l'appli directement, sans passer par solution tierce
    Si je veux envoyer un email avec une pièce jointe, sans passer par une carte de stockage externe, il faut donc que l'envoi d'email soit fait par l'application directement.

    Le code ci-après permet l'envoi d'email avec pièce attachée:

    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
     
    NServeur est une chaîne
    NUser est une chaîne
    NMotDePasse est une chaîne
    NPort est une chaîne
     
    sFichierImage est une chaîne 
     
    NServeur = "smtp.gmail.com" //votre SMTP
    NUser = "xxxxxxxx@gmail.com" //adresse email expéditeur
    NMotDePasse = "xxxxxxx" //mot de passe du compte
    NPort = 465 //port SMTP
     
     
    EmailChangeTimeOut(20)
     
    // Ouverture de la session en SSL
    SI PAS EmailOuvreSessionSMTP(NUser,NMotDePasse,NServeur,NPort,Faux, optionSSL) ALORS
    Erreur(ErreurInfo(errComplet))
    FIN
     
    sFichierImage = AlbumSélecteur(albumImage) 
    //sous android, une copie du fichier sélectionné est mise dans le répertoire exe 
    //AlbumSelecteur retour le chemin vers cette copie
     
    // Initialisation de la structure email
    Email.NbDestinataire = 1
    Email.Destinataire[1] = "xxxxxxx@gmail.com"
    Email.Sujet= "Test Envoie eMail Windev"
    Email.Message = "Ceci est un contenu d'un mail envoyé par un programme windev. On s'est appuyé sur smtp de gmail."
    Email.NbAttache=1
    Email.Attache=sFichierImage
     
    // Envoi du email
    SI EmailEnvoieMessage(NUser) ALORS
    Info("L'envoie de l'email a réussi")
    SINON
    Erreur(ErreurInfo(errComplet))
    FIN
     
    fSupprime(sFichierImage) // parce qu'après avoir sali avec du temporaire, il faut nettoyer, sinon ça s'incruste
     
    EmailFermeSession(NUser)
    Voilà les p'tits loups! @+

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 20
    Points : 22
    Points
    22
    Par défaut Problème avec la messagerie installée
    Bonjour
    J'avais le même problème, j'ai installé la messagerie gmail et le problème a été résolu.
    La messagerie native pose des problèmes avec les pièces jointes.

    Ce code fonctionne parfaitement, à adapter bien entendu

    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
    j est un entier = 0
     
    EmailRAZ()
     
    //définir le RepEnCours
     
    SI fTaille(RepEnCours + "test.csv") <> -1 ALORS 
    	Email.Attache[1]= RepEnCours + "test.csv"
    	Email.NbAttache = 1
    FIN
     
    Email.Sujet = "Test envoi mail")
    Email.Message = "Veuillez trouver un mail " + RC
     
     
    Email.Destinataire[j+1] = "toto@gmail.fr"
    j = j+1	
     
     
    Email.NbDestinataire = j
    EmailLanceAppli()

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/06/2013, 23h19
  2. envoi d'email avec pièce jointe sap
    Par kitty2006 dans le forum SAP
    Réponses: 3
    Dernier message: 10/12/2010, 11h18
  3. [D6-Outlook] Envoi d'email avec pièces jointes
    Par pepito62 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 23/06/2010, 18h09
  4. [WD12] Envoi Email avec pièces jointes
    Par machou43 dans le forum WinDev
    Réponses: 2
    Dernier message: 07/05/2009, 14h10
  5. Envoi email avec pièce jointe
    Par ouinih dans le forum Modules
    Réponses: 2
    Dernier message: 29/01/2009, 22h17

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