PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Structure email, EmailImporteSource et pièces jointes
Structure email, EmailImporteSource et pièces jointes
Iniciado por gigfy.us, 16,jul. 2020 13:04 - 1 respuesta
Publicado el 16,julio 2020 - 13:04
Bonjour.

Mon objectif est de déporter les envois de mail du programme principal pour les envoyer par la suite via un service windows exécuté périodiquement.
Le principal objectif est de ne pas lagger ou bloquer l'utilisateur pour l'envoi des mails, surtout en cas d'indisponibilité du serveur SMTP (si si, ça arrive)
Le tout est en Windev 23.

Donc,
D'un côté, je crée des mails à envoyer à l'aide d'une structure eMail dont je stocke, entre autres, le code source généré avec emailConstruitSource dans un champ Memo texte d'une base HFSQL.

De l'autre coté, je parcoure les mails ainsi stockés et je récupère la source que j'importe par la suite, pour ensuite les envoyer.

//RAZ de la structure eMail
EmailRAZ()
//Récupération de la source
Email.Source = MAIL_BoiteEnvoi.Mail_Source
//Traitement de la source
EmailImporteSource()
//Tentative d'envoi du message
bMailOK = EmailEnvoieMessage (gSMTP_Session)
//Pour contrôle, sauvegarde de la source dans un fichier eml sur disque
fSauveTexte(sFicMail+".eml",Email.Source)


Ce principe fonctionne, sauf si une pièce jointe est présente dans le message

EmailEnvoieMessage renvoie Faux et indique :
La pièce jointe "exemple.txt" n'existe pas.
Le message ne peut pas être envoyé.

où exemple.txt est un fichier texte de quelques caractères présent à l'origine sur le disque lors de la création du mail.

La fonction EmailConstruitSource(), si elle est appelée avant EmailEnvoieMessage renvoie la même erreur.

Par contre, le fichier eml sauvegardé contient bien la pièce jointe.

Idem avec 2 PJ de 2Mo.

Donc, il dit ne pas trouver de pièce jointe alors qu'il a, visiblement, puisque présente dans le eml

Des idées ?

Merci d'avance.

PS. Pour gagner du temps, il n'est pas encore prévu de changer de version de windev 🙄
Publicado el 17,julio 2020 - 12:45
Bonjour.

Ce problème n'a pas l'air de trouver preneur...

Tant pis...

Je me réponds donc à moi même...

Une récupération dans dossier temporaire via EmailSauveFichierAttaché(), puis une réaffectation de la Pièce Jointe résout le problème.

C'est un peu dommage de récupérer et remettre quelque chose de déjà présent, mais çà fonctionne.

Bon week end à tous.

Gigfy