Forums développeurs windev

Version complète : Mail HTML
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

Dans mon programme de gestion, mon client a souhaité pouvoir envoyer ces factures par mail.
Pas de problème j' ai utilisé l'exemple unitaire "Envoi d'Emails" arrangé à ma sauce avec le code suivant:

Code :
//Clic Btn_Envoyer
Sablier()

HLitRecherche(Mail,Utilisateur,gsUser,hIdentique)
SI HTrouve(Mail) ET PAS HEnDehors(Mail) ALORS

    i est un entier
    AdresseTemp est une chaîne
    
    //Contrôle de la saisie des infos.
    //Champs obligatoires :
    SI DESTINATAIRE = "" ALORS
        Info("Des champs n'ont pas été renseignés.")
        RepriseSaisie(DESTINATAIRE)    
    FIN
    SI OBJET_MEL = "" ALORS
        Info("Des champs n'ont pas été renseignés.")
        RepriseSaisie(OBJET_MEL)    
    FIN
    
    //Affectations des variables d'envoi d'eMail :
    Email.AdresseExpéditeur = Mail.AdresseEmail
    Email.Expéditeur = Mail.AdresseEmail
    Email.NbDestinataire = 1
    Email.Destinataire[1] = DESTINATAIRE
    Email.Sujet = OBJET_MEL
    Email.Message = MESSAGE_MEL
    Email.ConfirmationLecture = AR_EMAIL
    
    //Traitement des CC
    i = 1
    BOUCLE
        AdresseTemp = ExtraitChaîne(COPIE,i,";")
        SI AdresseTemp <> EOT ALORS
            Email.NbCc = i
            Email.Cc[i] = AdresseTemp
            i++
        SINON
            SORTIR
        FIN
    FIN
    
    //Traitement des attachements
    Email.NbAttache = TableOccurrence(TABLE_ATTACH)
    nNbFichiersAttachés est un entier = Email.NbAttache
    POUR i = 1 À nNbFichiersAttachés
        Email.Attache[i] = TABLE_ATTACH.CHEMIN1[i]    
    FIN
    
    //Ouverture de session SMTP
    EmailChangeTimeOut(10)
    SI EmailOuvreSessionSMTP(Mail.NomUser,Mail.MotDePasse,Mail.ServeurSMTP,Mail.PortSMTP,Faux,optionSSL) ALORS
        //Envoi du message.
        SI EmailEnvoieMessage(Mail.NomUser) ALORS
            Info("Votre email a été envoyé")
//            FEN_Fiche_Facture1.SC_Fiche.SAI_Etat = "E"
            MailEnvoyé.Utilisateur = gsUser
            MailEnvoyé.Sujet = OBJET_MEL
            MailEnvoyé.Destinataire = DESTINATAIRE
            MailEnvoyé.expediteur = Mail.AdresseEmail
            MailEnvoyé.DateEnvoie = DateHeureSys()
            HAjoute(MailEnvoyé)
            
        SINON
            Erreur(ErreurInfo())
        FIN
    SINON
        Erreur("Impossible d'ouvrir une session SMTP",ErreurInfo())
    FIN
SINON
    Info("Il n'y a pas d'adresse Mail associé à l'utilisateur: " + gsUser)      
FIN
fSupprime(gsNomFichierPDF)
Sablier(Faux)
Ferme()
Maintenant, il me demande de pouvoir insérer une signature (une image), et c'est là que les ennuies commencent.
J'ai modifié mon champs de saisie de type texte en type HTML, j'insère mon image, jusque là pas de problème.
Mais c'est l'envoi qui me pose problème, je ne reçoit pas  l'image et ne sait plus comment faire.
Si quelqu'un peut m'expliquer la démarche à suivre ?
Merci d'avance.
JH
(01-03-2018, 03:03 PM)netrad a écrit : [ -> ]Bonjour,

Dans mon programme de gestion, mon client a souhaité pouvoir envoyer ces factures par mail.
Pas de problème j' ai utilisé l'exemple unitaire "Envoi d'Emails" arrangé à ma sauce avec le code suivant:

Code :
//Clic Btn_Envoyer
Sablier()

HLitRecherche(Mail,Utilisateur,gsUser,hIdentique)
SI HTrouve(Mail) ET PAS HEnDehors(Mail) ALORS

    i est un entier
    AdresseTemp est une chaîne
    
    //Contrôle de la saisie des infos.
    //Champs obligatoires :
    SI DESTINATAIRE = "" ALORS
        Info("Des champs n'ont pas été renseignés.")
        RepriseSaisie(DESTINATAIRE)    
    FIN
    SI OBJET_MEL = "" ALORS
        Info("Des champs n'ont pas été renseignés.")
        RepriseSaisie(OBJET_MEL)    
    FIN
    
    //Affectations des variables d'envoi d'eMail :
    Email.AdresseExpéditeur = Mail.AdresseEmail
    Email.Expéditeur = Mail.AdresseEmail
    Email.NbDestinataire = 1
    Email.Destinataire[1] = DESTINATAIRE
    Email.Sujet = OBJET_MEL
    Email.Message = MESSAGE_MEL
    Email.ConfirmationLecture = AR_EMAIL
    
    //Traitement des CC
    i = 1
    BOUCLE
        AdresseTemp = ExtraitChaîne(COPIE,i,";")
        SI AdresseTemp <> EOT ALORS
            Email.NbCc = i
            Email.Cc[i] = AdresseTemp
            i++
        SINON
            SORTIR
        FIN
    FIN
    
    //Traitement des attachements
    Email.NbAttache = TableOccurrence(TABLE_ATTACH)
    nNbFichiersAttachés est un entier = Email.NbAttache
    POUR i = 1 À nNbFichiersAttachés
        Email.Attache[i] = TABLE_ATTACH.CHEMIN1[i]    
    FIN
    
    //Ouverture de session SMTP
    EmailChangeTimeOut(10)
    SI EmailOuvreSessionSMTP(Mail.NomUser,Mail.MotDePasse,Mail.ServeurSMTP,Mail.PortSMTP,Faux,optionSSL) ALORS
        //Envoi du message.
        SI EmailEnvoieMessage(Mail.NomUser) ALORS
            Info("Votre email a été envoyé")
//            FEN_Fiche_Facture1.SC_Fiche.SAI_Etat = "E"
            MailEnvoyé.Utilisateur = gsUser
            MailEnvoyé.Sujet = OBJET_MEL
            MailEnvoyé.Destinataire = DESTINATAIRE
            MailEnvoyé.expediteur = Mail.AdresseEmail
            MailEnvoyé.DateEnvoie = DateHeureSys()
            HAjoute(MailEnvoyé)
            
        SINON
            Erreur(ErreurInfo())
        FIN
    SINON
        Erreur("Impossible d'ouvrir une session SMTP",ErreurInfo())
    FIN
SINON
    Info("Il n'y a pas d'adresse Mail associé à l'utilisateur: " + gsUser)      
FIN
fSupprime(gsNomFichierPDF)
Sablier(Faux)
Ferme()
Maintenant, il me demande de pouvoir insérer une signature (une image), et c'est là que les ennuies commencent.
J'ai modifié mon champs de saisie de type texte en type HTML, j'insère mon image, jusque là pas de problème.
Mais c'est l'envoi qui me pose problème, je ne reçoit pas  l'image et ne sait plus comment faire.
Si quelqu'un peut m'expliquer la démarche à suivre ?
Merci d'avance.
JH

Bonjour,

Regarde dans l'aide la fonction  EmailImporteHTML c'est bien expliqué.

Bon dev.