PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → erreur rencontrée lors de l'envoi de mail
erreur rencontrée lors de l'envoi de mail
Started by alexion, Sep., 20 2021 10:24 AM - 2 replies
Registered member
117 messages
Popularité : +4 (6 votes)
Posted on September, 20 2021 - 10:24 AM
Bonjour à toutes et à tous,

Je rencontre présentement un problème lié à l'envoi de mail sur un projet Windev sur lequel les clients ont accès via navigateur (le projet tourne sur un serveur et les clients se connectent via une url)

Voici le message d'erreur que je reçois lorsque je tente d'envoyer un mail :











Et voici le code derrière l'erreur

Procedure EnvoiMail(sNomFenetre est une chaîne ="")

////****************************************
SFILE_TO_SEND est une chaîne
SContenuMail est une chaîne
sDestinataire est une chaîne
bErreur est un booléen = Faux
//*********************************************************************************************

SI fRépertoireExiste(PARAMETRES.RepLocalClient)= Vrai ALORS

DELETE_REP_WORK(PARAMETRES.RepLocalClient)
SINON
fRepCrée(PARAMETRES.RepLocalClient)
FIN
//*********************************************************************

SELON sNomFenetre
CAS "FEN_DEVIS"
iAperçu(iPDF, "Impression.pdf")
iDestination(iPDF,PARAMETRES.RepLocalClient+G_DB+"Devis-"+DEVIS.NUMERO+".pdf")
HAnnuleDéclaration(REQ_select_DevisD)
REQ_select_DevisD.ParamFLAG_ESTACTIF = 1
REQ_select_DevisD.ParamLINK_DETAIL = FEN_DEVIS.LINK_DETAIL
HExécuteRequête(REQ_select_DevisD)
iImprimeEtat(PRT_DEVIS)
SFILE_TO_SEND = PARAMETRES.RepLocalClient+G_DB+"Devis-"+DEVIS.NUMERO+".pdf"

sDestinataire = FEN_DEVIS.CLIENT_MAIL
SI sDestinataire = "" ALORS
Info("Le client ne possède pas d'adresse email")
bErreur = Vrai
FIN


//...//

SI bErreur = Faux ALORS

//fenêtre permettant le récupérer le sujet du mail en chaine de caractère et le message en chaine rtf
SContenuMail = Ouvre(FI_DonnéesMail)

MonMail est un Email

SI EnModeTest() ALORS
Ajoute(MonMail..Destinataire,"MonAdresseTest@gmail.com")

SINON
Ajoute(MonMail..Destinataire,sDestinataire)
FIN

MonMail..Sujet = ExtraitChaîne(SContenuMail, 1, TAB, DepuisDébut)
MonMail.HTML = RTFVersHTML(ExtraitChaîne(SContenuMail, 2, TAB, DepuisDébut))
MonMail.Message = RTFVersTexte(ExtraitChaîne(SContenuMail, 2, TAB, DepuisDébut))

EmailChargeFichierAttaché(MonMail , SFILE_TO_SEND)

nMaSession est un entier = EmailOuvreSessionOutlook("")
SI PAS EmailEnvoieMessage(nMaSession,MonMail) ALORS
Erreur(ErreurInfo(errComplet))
SINON
Info("Mail envoyé")
FIN
EmailFermeSession("")

fSupprime(SFILE_TO_SEND, frVersCorbeille)
FIN


Merci d'avance pour l'aide que vous m'apporterez
Bonne journée
Registered member
117 messages
Popularité : +4 (6 votes)
Posted on September, 20 2021 - 1:17 PM
UP
Posted on September, 21 2021 - 9:55 AM
Après mûre réflexion, alexion a écrit :
Bonjour à toutes et à tous,

Je rencontre présentement un problème lié à l'envoi de mail sur un projet
Windev sur lequel les clients ont accès via navigateur (le projet tourne sur
un serveur et les clients se connectent via une url)

Voici le message d'erreur que je reçois lorsque je tente d'envoyer un mail :











Et voici le code derrière l'erreur

Procedure EnvoiMail(sNomFenetre est une chaîne ="")

////****************************************
SFILE_TO_SEND est une chaîne SContenuMail est une chaîne sDestinataire est
une chaîne bErreur est un booléen = Faux
//*********************************************************************************************

SI fRépertoireExiste(PARAMETRES.RepLocalClient)= Vrai ALORS

DELETE_REP_WORK(PARAMETRES.RepLocalClient)
SINON
fRepCrée(PARAMETRES.RepLocalClient)
FIN
//*********************************************************************

SELON sNomFenetre
CAS "FEN_DEVIS"
iAperçu(iPDF, "Impression.pdf")
iDestination(iPDF,PARAMETRES.RepLocalClient+G_DB+"Devis-"+DEVIS.NUMERO+".pdf")
HAnnuleDéclaration(REQ_select_DevisD)
REQ_select_DevisD.ParamFLAG_ESTACTIF = 1
REQ_select_DevisD.ParamLINK_DETAIL = FEN_DEVIS.LINK_DETAIL
HExécuteRequête(REQ_select_DevisD)
iImprimeEtat(PRT_DEVIS)
SFILE_TO_SEND = PARAMETRES.RepLocalClient+G_DB+"Devis-"+DEVIS.NUMERO+".pdf"

sDestinataire = FEN_DEVIS.CLIENT_MAIL SI sDestinataire = "" ALORS
Info("Le client ne possède pas d'adresse email")
bErreur = Vrai FIN


//...//

SI bErreur = Faux ALORS

//fenêtre permettant le récupérer le sujet du mail en chaine de caractère et
le Message en chaîne rtf
SContenuMail = Ouvre(FI_DonnéesMail)

MonMail est un Email

SI EnModeTest() ALORS
Ajoute(MonMail..Destinataire,"MonAdresseTest@gmail.com")

SINON
Ajoute(MonMail..Destinataire,sDestinataire) FIN

MonMail..Sujet = ExtraitChaîne(SContenuMail, 1, TAB, DepuisDébut)
MonMail.HTML = RTFVersHTML(ExtraitChaîne(SContenuMail, 2, TAB,
DepuisDébut)) MonMail.Message =
RTFVersTexte(ExtraitChaîne(SContenuMail, 2, TAB, DepuisDébut))

EmailChargeFichierAttaché(MonMail , SFILE_TO_SEND)

nMaSession est un entier = EmailOuvreSessionOutlook("") SI PAS
EmailEnvoieMessage(nMaSession,MonMail) ALORS
Erreur(ErreurInfo(errComplet))
SINON
Info("Mail envoyé")
FIN
EmailFermeSession("")

fSupprime(SFILE_TO_SEND, frVersCorbeille) FIN


Merci d'avance pour l'aide que vous m'apporterez
Bonne journée


bonjour,

EmailOuvreSessionOutlook("") implique que Outlook soit installé et
accessible sur la machine qui exécute le code

--
Cordialement JeAn-PhI