1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

[WD20 et +] Envoyer un email via outlook

Discussion dans 'Resources' créé par Advita, Fev 9, 2018.

Tags:
  1. Advita

    Advita Active Member
    MEMBRE WX

    Inscrit:
    Jan 13, 2018
    Messages:
    74
    J'aime reçus:
    109
    Bonjour :)
    Code permettant d'envoyer un email depuis Outlook
    Il fonctionne chez moi depuis longtemps et sur n'importe quel projet WD
    Code (Windev):
    // Créer une structure
    STParamMail est une Structure
     sDestinataires  est une chaîne // les adresses mails complètes des destinataires (séparateur : ";")
     sCC    est une chaîne // Les destinataires en copies (Séparateur : ";")
     sCCI   est une chaîne // les destinataires en copies cachées (Séparateur : ";")
     sObjet   est une chaîne // objet du mail
     sPiècesJointes  est une chaîne // le chemin complet des pièces jointes (séparateur : ";")
     sTexteHTML  est une chaîne // Nom du fichier contenant le texte en HTML (En principe, idem que sAfaire mais extension .HTML)
     sTexteTxt  est une chaîne // Nom du fichier contenant le texte en ASCII (En principe, idem que sAfaire mais extension .TXT)
     bEnvoiDirect est un booléen // Faut il envoyer le mail sans passer par les brouillons
    FIN

    // Alimentez cette structure en fonction de votre projet
    // Passez la par paramètres à la procédure EnvoiEmail
    PROCEDURE EnvoiMail(stLesParamètres est un STParamMail)
    sFichier est une chaîne
    bErreur est un booléen
    pautOutlook est un objet Automation dynamique
    pautOutlook=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Outlook.Application")
    QUAND EXCEPTION DANS
    SI pautOutlook=Null ALORS
     pautOutlook = allouer un objet Automation "Outlook.Application"
    FIN
    Email est un objet Automation dynamique = pautOutlook>>CreateItem(0)
    Email>>Display()
    // Création du mail
    Email>>subject=stLesParamètres:sObjet
    // Affichage de la fenêtre Outlook (indispensable en premier afin d'avoir la signature
    SI stLesParamètres:sTexteHTML ~= "" ALORS
     SI stLesParamètres:sTexteTxt <> "" ALORS
      stLesParamètres:sTexteHTML =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stLesParamètres:sTexteTxt)
     FIN
    SINON
     SI stLesParamètres:sTexteTxt ~= "" ALORS
      stLesParamètres:sTexteTxt =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stLesParamètres:sTexteHTML)
     FIN
    FIN
    // On remplit le corps du message
    Email>>htmlBody(stLesParamètres:sTexteHTML+CRLF+Email>>htmlbody)
    // Ajout des destinataires
    Email>>to=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stLesParamètres:sDestinataires)
    // Ajout des destinataires en copie (facultatif)
    //Email>>cc=sansespace(stLesParamètres:sCC)
    //email>>cci=sansespace(stLesParamètres:scci)
    // Ajout des pièces jointes
    POUR TOUTE CHAÎNE sFichier DE stLesParamètres:sPiècesJointes SEPAREE PAR ";"
     

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sFichier)
     SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sFichier) ALORS
      Email>>attachments>>

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sFichier)
     SINON
      bErreur = Vrai
     FIN
    FIN
    SI PAS bErreur ALORS
     SI stLesParamètres:bEnvoiDirect ALORS
      Email>>send
     FIN
    FIN
    // Libération des objets
    libérer Email
    libérer pautOutlook
    FAIRE

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Outlook n'est probablement pas installé sur votre ordinateur !")
    FIN

    // Dans sPiècesJointes il faut indiquer la liste des fichiers séparé par ";"
    // ex : c:\Temp\001.pdf;c:\Temp\002.pdf;...
     
     
    Tags:
  2. elhacene

    elhacene Active Member
    MEMBRE WX

    Inscrit:
    Jan 14, 2018
    Messages:
    299
    J'aime reçus:
    150
    c'est très utile surtout pour ceux qui utilise gmail car avec windev 20 on 'arrive pas a envoyé de mail pour raison de conflit de sécurité avec gmail donc peu contournée sa avec ton code vu que pas de problème d'envoi entre outlook et gmail
     
    Advita apprécie ceci.
  3. elghyati

    elghyati Member

    Inscrit:
    Jan 2, 2018
    Messages:
    56
    J'aime reçus:
    7
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Est ce que tu peut d'expliquer l'utilisation du code :
    Envoyer un email via Outlook.? SVP
    Merci bq
     
    Advita apprécie ceci.
  4. Advita

    Advita Active Member
    MEMBRE WX

    Inscrit:
    Jan 13, 2018
    Messages:
    74
    J'aime reçus:
    109
    Avec ce code, tu va pouvoir envoyer des emails directement depuis ton logiciel.
    La structure d'email peut se déclarer en ouverture de projet, de fenêtre ou encore dans une classe.
    L'avantage d'une structure c'est que tu vas pouvoir l'alimenter depuis n'importe quelle fenêtre. Tu n'est pas obligé de le faire dans une seule et même fenêtre.
    Une fois cette structure complétée, tu la passes en paramètre à la fonction : Envoimail.
    Ton email est créé dans Outlook en fonction des paramètres passés. Gain de temps pour l'utilisateur.
     
    suenodesign apprécie ceci.
  5. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Merci pour ce post.

    Si vous n'avez pas de pièces jointe, il y a une méthode plus simple

    Code (Text):

        Email.Destinataire[1] = Lemail
        Email.NbDestinataire = 1
        Email.Sujet = SujetMail
        Email.Message = Lemessage

        // Pièce jointe ! Ne fonctionen pas sur tous les outlook ?
        //Email.Attache[1] = "photo.jpg"
        //Email.NbAttache = 1
       
        EmailLanceAppli()
     
     
    joker et Advita aiment ça.
  6. kimovitch2022

    kimovitch2022 New Member

    Inscrit:
    Nov 20, 2021
    Messages:
    10
    J'aime reçus:
    2
    Merci Beaucoup
     
  7. Eric_Moi

    Eric_Moi New Member

    Inscrit:
    Mar 13, 2019
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,
    Est-ce que par le biais du premier message, le message va dans les éléments envoyés d'Outlook ?
     
  8. Guy1969

    Guy1969 New Member

    Inscrit:
    Nov 8, 2024
    Messages:
    4
    J'aime reçus:
    0
    Bonjour Advita

    Tout d'abord un très grand MERCI pour votre procédure de récupération par DnD d'un Mail Outlook, de toutes ses pièces jointes et de la création d'un .msg !!!

    Merci également pour cette procédure d'envoi de mail, qui ressemble à celle que j'utilisait déjà mais qui est plus "nette" et plus complète grâce à la stucture, et qui au passage m'a appris 2-3 choses sur le code windev.

    Dans le même esprit de ces deux superbes procédures, une fois le .msg créé et référencé dans une base de données (lors de l'arrivée des mails de commande) je souhaite remplacer ma procédure actuelle d'envoi de mail outlook par une procédure de type "Répondre à tous" pour envoyer la confirmation de commande sur le fil de conversation et ce depuis un autre poste que celui qui l'a reçu.

    Cela permettra au client d'avoir le fil complet des échanges commerciaux sur l'affaire en cours
    Libre au responsable des envois de confirmations de commande de supprimer ou pas tout ou partie de la conversation.

    Je ne suis pas assez familiarisé avec toutes les méthodes MailItem d'Outlook ni avec la façon de les appeler depuis windev pour trouver seul la solution...

    Auriez-vous réalisé une procédure de type "Répondre à tous" ou quelques éléments pour m'aider à la créer sachant que j'aurait les contenus du mail reçu en BDD + le fichier .msg

    Merci d'avance pour toute aide

    Bien cordialement

    Guy

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour :)
    Code permettant d'envoyer un email depuis Outlook
    Il fonctionne chez moi depuis longtemps et sur n'importe quel projet WD
    Code (Windev):
    // Créer une structure
    STParamMail est une Structure
     sDestinataires  est une chaîne // les adresses mails complètes des destinataires (séparateur : ";")
    .../...
     
    Cliquez pour agrandir...
     
  • Guy1969

    Guy1969 New Member

    Inscrit:
    Nov 8, 2024
    Messages:
    4
    J'aime reçus:
    0
    Bonjour Advita

    Tout d'abord un très grand MERCI pour votre procédure de récupération par DnD d'un Mail Outlook, de toutes ses pièces jointes et de la création d'un .msg !!!

    Merci également pour cette procédure d'envoi de mail, qui ressemble à celle que j'utilisait déjà mais qui est plus "nette" et plus complète grâce à la stucture, et qui au passage m'a appris 2-3 choses sur le code windev.

    Dans le même esprit de ces deux superbes procédures, une fois le .msg créé et référencé dans une base de données (lors de l'arrivée des mails de commande) je souhaite remplacer ma procédure actuelle d'envoi de mail outlook par une procédure de type "Répondre à tous" pour envoyer la confirmation de commande sur le fil de conversation et ce depuis un autre poste que celui qui l'a reçu.

    Cela permettra au client d'avoir le fil complet des échanges commerciaux sur l'affaire en cours
    Libre au responsable des envois de confirmations de commande de supprimer ou pas tout ou partie de la conversation.

    Je ne suis pas assez familiarisé avec toutes les méthodes MailItem d'Outlook ni avec la façon de les appeler depuis windev pour trouver seul la solution...

    Auriez-vous réalisé une procédure de type "Répondre à tous" ou quelques éléments pour m'aider à la créer sachant que j'aurait les contenus du mail reçu en BDD + le fichier .msg

    Merci d'avance pour toute aide

    Bien cordialement

    Guy

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Code permettant d'envoyer un email depuis Outlook
    Il fonctionne chez moi depuis longtemps et sur n'importe quel projet WD
    Code (Windev):
    // Créer une structure
    STParamMail est une Structure
     sDestinataires  est une chaîne // les adresses mails complètes des destinataires (séparateur : ";")
    .../...
     
    Cliquez pour agrandir...
     
  • Guy1969

    Guy1969 New Member

    Inscrit:
    Nov 8, 2024
    Messages:
    4
    J'aime reçus:
    0
    Bonjour Advita

    Tout d'abord un très grand MERCI pour votre procédure de récupération par DnD d'un Mail Outlook, de toutes ses pièces jointes et de la création d'un .msg !!!

    Merci également pour cette procédure d'envoi de mail, qui ressemble à celle que j'utilisait déjà mais qui est plus "nette" et plus complète grâce à la stucture, et qui au passage m'a appris 2-3 choses sur le code windev.

    Dans le même esprit de ces deux superbes procédures, une fois le .msg créé et référencé dans une base de données (lors de l'arrivée des mails de commande) je souhaite remplacer ma procédure actuelle d'envoi de mail outlook par une procédure de type "Répondre à tous" pour envoyer la confirmation de commande sur le fil de conversation et ce depuis un autre poste que celui qui l'a reçu.

    Cela permettra au client d'avoir le fil complet des échanges commerciaux sur l'affaire en cours
    Libre au responsable des envois de confirmations de commande de supprimer ou pas tout ou partie de la conversation.

    Je ne suis pas assez familiarisé avec toutes les méthodes MailItem d'Outlook ni avec la façon de les appeler depuis windev pour trouver seul la solution...

    Auriez-vous réalisé une procédure de type "Répondre à tous" ou quelques éléments pour m'aider à la créer sachant que j'aurait les contenus du mail reçu en BDD + le fichier .msg

    Merci d'avance pour toute aide

    Bien cordialement

    Guy
     
  • Guy1969

    Guy1969 New Member

    Inscrit:
    Nov 8, 2024
    Messages:
    4
    J'aime reçus:
    0
    Bonjour Advita

    Tout d'abord un très grand MERCI pour votre procédure de récupération par DnD d'un Mail Outlook, de toutes ses pièces jointes et de la création d'un .msg !!!

    Merci également pour cette procédure d'envoi de mail, qui ressemble à celle que j'utilisait déjà mais qui est plus "nette" et plus complète grâce à la stucture, et qui au passage m'a appris 2-3 choses sur le code windev.

    Dans le même esprit de ces deux superbes procédures, une fois le .msg créé et référencé dans une base de données (lors de l'arrivée des mails de commande) je souhaite remplacer ma procédure actuelle d'envoi de mail outlook par une procédure de type "Répondre à tous" pour envoyer la confirmation de commande sur le fil de conversation et ce depuis un autre poste que celui qui l'a reçu.

    Cela permettra au client d'avoir le fil complet des échanges commerciaux sur l'affaire en cours
    Libre au responsable des envois de confirmations de commande de supprimer ou pas tout ou partie de la conversation.

    Je ne suis pas assez familiarisé avec toutes les méthodes MailItem d'Outlook ni avec la façon de les appeler depuis windev pour trouver seul la solution...

    Auriez-vous réalisé une procédure de type "Répondre à tous" ou quelques éléments pour m'aider à la créer sachant que j'aurait les contenus du mail reçu en BDD + le fichier .msg


    Merci d'avance pour toute aide

    Bien cordialement

    Guy
     
  • Partager cette page

    Chargement...