PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 22 → Image par MAIL
Image par MAIL
Débuté par FRANCIS, 16 mar. 2017 15:50 - 7 réponses
Membre enregistré
125 messages
Posté le 16 mars 2017 - 15:50
Bonjour,
J'ai un fichier de donnée dans lequel j'ai une rubrique typé Memo :"Son, image, binaire"
Je souhaite envoyé par mail ce scan d'un fichier PDF par mail.

Hors je n'arrive pas à récuperer l'image.
J'ai essayé
MailPieceJointe = dChargeImage(IMG_Document_scanné,imgConvertir,403,500)

Email.Attache = MailPieceJointe


Mais la variable reste vide.
Dans mon mail je n'ai pas de piece jointe
Quelle est la solution ?
MERCI de votre aide
Posté le 16 mars 2017 - 16:29
Bonjour Francis,

si ton MailPieceJointe est de type emailattache, regarde l'aide, car il
faut utiliser les différentes propriétés de la variable

en plus, email.attache est un TABLEAU de chaine (la aussi, voir l'aide)
contenant le NOM des fichiers attachés (sur le disque). Il faudra donc
extraire les fichiers sur le disque pour utiliser cette syntaxe.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/16/2017 à 9:50 AM, FRANCIS a écrit :
Bonjour,
J'ai un fichier de donnée dans lequel j'ai une rubrique typé Memo :"Son,
image, binaire"
Je souhaite envoyé par mail ce scan d'un fichier PDF par mail.

Hors je n'arrive pas à récuperer l'image.
J'ai essayé
MailPieceJointe = dChargeImage(IMG_Document_scanné,imgConvertir,403,500)

Email.Attache = MailPieceJointe

Mais la variable reste vide.
Dans mon mail je n'ai pas de piece jointe
Quelle est la solution ?
MERCI de votre aide
Membre enregistré
125 messages
Posté le 16 mars 2017 - 19:12
Bonjour,
Non ma variable est de type IMAGE
MERCI
Posté le 16 mars 2017 - 22:15
il reste donc que tu utilise mal le table .attache



Le 3/16/2017 à 1:12 PM, FRANCIS a écrit :
Bonjour,
Non ma variable est de type IMAGE
MERCI
Membre enregistré
125 messages
Posté le 17 mars 2017 - 08:01
Bonjour,
Je ne vois pas comment mal utiliser le .attache, j'ai regardé dans l'aide il n'y a pas une centaine d'informations:
sMailDestinataire est une chaîne
nMailIDDestinataire est un entier
sMailNomDestinataire, sMailPrenomDestinataire sont des chaînes
dMailDatePV est une Date
MailPieceJointe est un Image


// RECHERCHE DES INFORMATIONS SUR LA FICHE PERSONNE ------------------------------------------------
nMailIDDestinataire = FEN_SUIVI_CONTRAVENTION.SAI_IDPersonnel
dMailDatePV = FEN_SUIVI_CONTRAVENTION.SAI_Date_Infraction
MailPieceJointe = HInfoMemo(Suvi_Contravention,Document_scanné)

HLitRecherchePremier(Personnel,IDPersonnel,nMailIDDestinataire,hRespecteFiltre)
SI HTrouve() = Vrai ALORS
sMailNomDestinataire = Personnel.Nom
sMailPrenomDestinataire = Personnel.Prénom
sMailDestinataire = "MonDestinataire"
SINON
Erreur("Pas de fiche personnel de trouvé")
FIN

// PREPARATION DU MAIL ----------------------------------------------------------------------------
SI sMailDestinataire <> "" ALORS
EmailChangeTimeOut(10) // 10 Secondes pour le time out

SI EmailOuvreSessionSMTP(User,Password,"MonServeurSMTP",25,Faux,emailOptionSécuriséTLS) = Vrai ALORS
Email.Expéditeur = "MonAdresse@Mail"
Email.Sujet = "Avis de contravention"
Email.NbDestinataire = "1"
Email.Destinataire = sMailDestinataire

ToastSupprimeTout()
ToastAffiche("Mail envoyé à : " + sMailNomDestinataire + " - " +sMailPrenomDestinataire,toastCourt,cvBas,chCentre,BleuPastel)

// CORPS DU MESSAGE DE L'EMAIL ----------------------
Email.HTML = TexteVersHTML("Bonjour," + RC + "Je vous prie de trouver ci-joint l’avis de contravention du " + dMailDatePV..Jour + "/" + dMailDatePV..Mois + "/" + dMailDatePV..Année + RC +...
"Merci de confirmer que vous étiez bien le conducteur ?" + RC +...
" + votre adresse et le scan de votre permis." + RC +...
"Cordialement,")

Email.Attache = MailPieceJointe

// Envoie l'e-mail
SI EmailEnvoieMessage(User)=Vrai ALORS
Info("Le message est envoyé")
SINON
Info("Le message n'est pas envoyé")
FIN
SINON
Erreur("Impossible d'établir la connexion sur le serveur SMTP ")
FIN
SINON
Info("L'adresse mail n'est pas renseignée dans la fiche personne : " + sMailNomDestinataire )
FIN


Mon image est visible dans les fenetres ainsi que dans le fichier image.
MERCI pour votre aide
Membre enregistré
125 messages
Posté le 17 mars 2017 - 08:05
Pour la piéce jointe il faut lire
MailPieceJointe = dChargeImage(IMG_Document_scanné,imgConvertir,300,300)


et non hinfomemo()
Posté le 17 mars 2017 - 09:13
FRANCIS avait écrit le 17/03/2017 :
Bonjour,
Je ne vois pas comment mal utiliser le .attache, j'ai regardé dans l'aide il
n'y a pas une centaine d'informations:
sMailDestinataire est une chaîne
nMailIDDestinataire est un entier
sMailNomDestinataire, sMailPrenomDestinataire sont des chaînes
dMailDatePV est une Date
MailPieceJointe est un Image


// RECHERCHE DES INFORMATIONS SUR LA FICHE PERSONNE
------------------------------------------------
nMailIDDestinataire = FEN_SUIVI_CONTRAVENTION.SAI_IDPersonnel
dMailDatePV = FEN_SUIVI_CONTRAVENTION.SAI_Date_Infraction
MailPieceJointe = HInfoMémo(Suvi_Contravention,Document_scanné)

HLitRecherchePremier(Personnel,IDPersonnel,nMailIDDestinataire,hRespecteFiltre)
SI HTrouve() = Vrai ALORS
sMailNomDestinataire = Personnel.Nom
sMailPrenomDestinataire = Personnel.Prénom
sMailDestinataire = "MonDestinataire"
SINON
Erreur("Pas de fiche personnel de trouvé")
FIN

// PREPARATION DU MAIL
----------------------------------------------------------------------------
SI sMailDestinataire <> "" ALORS
EmailChangeTimeOut(10) // 10 Secondes pour le time out

SI
EmailOuvreSessionSMTP(User,Password,"MonServeurSMTP",25,Faux,emailOptionSécuriséTLS)
= Vrai ALORS
Email.Expéditeur = "MonAdresse@Mail"
Email.Sujet = "Avis de contravention"
Email.NbDestinataire = "1"
Email.Destinataire = sMailDestinataire

ToastSupprimeTout()
ToastAffiche("Mail envoyé à : " + sMailNomDestinataire + " - "
+sMailPrenomDestinataire,toastCourt,cvBas,chCentre,BleuPastel)

// CORPS DU MESSAGE DE L'EMAIL ----------------------
Email.HTML = TexteVersHTML("Bonjour," + RC + "Je vous prie de trouver
ci-joint l’avis de contravention du " + dMailDatePV..Jour + "/" +
dMailDatePV..Mois + "/" + dMailDatePV..Année + RC +...
"Merci de confirmer que vous étiez bien le conducteur ?" + RC +...
" + votre adresse et le scan de votre permis." + RC +...
"Cordialement,")

Email.Attache = MailPieceJointe

// Envoie l'e-mail
SI EmailEnvoieMessage(User)=Vrai ALORS
Info("Le message est envoyé")
SINON
Info("Le message n'est pas envoyé")
FIN
SINON
Erreur("Impossible d'établir la connexion sur le serveur SMTP ")
FIN
SINON
Info("L'adresse mail n'est pas renseignée dans la fiche personne : " +
sMailNomDestinataire )
FIN


Mon image est visible dans les fenetres ainsi que dans le fichier image.
MERCI pour votre aide


la réponse vous a été donné mais vous ne l'avez pas lu/vu donc je
répète
allez consulter l'aide pour plus de détails

Email.Attache est un Tableau de chaînes contenant le nom des fichiers
attachés.
Email.NbAttache est un Entier indiquant le nombre de fichiers attachés
au message. Le nombre de fichiers attachés est illimité.

donc pour affecter une valeur à un tableau :

on ne fait pas => Email.Attache = "Chemin+NomFichier"
on fait => Email.Attache[1] = "Chemin+NomFichier" et Email.NbAttache =
1

--
Cordialement JeAn-PhI
Membre enregistré
125 messages
Posté le 17 mars 2017 - 16:09
MERCI pour l'info