Erreur sur Envoi mail en SMTP avec EXCHANGE
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
Bonjour, je ne comprends pas pourquoi mon code plante a chaque fois.

Le mail passe sans les pièces jointes !!!!

Pourtant l'adresse des fichiers est ok !!

Si quelqu'un a une lumière sur mon code :

PROCEDURE LanceOutlookSmtp(Ch_TypeDossier est une chaîne,Ch_FichiersJoints est une chaîne)
//** Déclaration des Variables **
Ch_TexteMail est une chaîne
Ent_NumFichierJoint est entier
Ch_ServeurMail est une chaîne
Ch_MailDest est une chaîne
Ch_MailExp est une chaîne
Ch_RecapErreur est une chaîne
Ch_NomExpServeur est une chaîne
i est un entier
//** On lance la saisie du mail client **
Ch_MailDest = Ouvre(Fen_Question,"Veuillez saisir l'adresse E-Mail du Client ?","Mail",WDClient.CLEmail)
//** On regarde si le mail est saisi correctement **
SI Ch_MailDest = "" ALORS
	Erreur("Envoi du mail impossible car aucune adresse n'a été saisie !!!")
	RETOUR
FIN
//** On récupère le nom du serveur **
Ch_ServeurMail = INILit("MAILS","SERVEUR","",Gp_Ch_ParametrageIni)
SI Ch_ServeurMail = "" ALORS
	Erreur("Le serveur de mail n'est pas renseigné dans les paramétrages !!!","","Veuillez contacter votre administrateur !!")
	RETOUR
FIN
//** Expéditeur du message **
HLitRecherchePremier(WDUsers,gpw_login,Gp_Ch_USER_Login)
SI HTrouve(WDUsers) ALORS
	Ch_MailExp = WDUsers.USEMAIL
	Ch_NomExpServeur = ExtraitChaîne(Ch_MailExp,1,"@",DepuisDébut)
SINON
	Erreur("Votre profil messagerie n'est pas paramétré dans WINDEVIS, Veuillez contacter votre administrateur !!!")
	RETOUR
FIN
//** CORPS DU MAIL **
SELON Ch_TypeDossier
	CAS "Devis" :
		Ch_TexteMail = "Veuillez trouver ci-joint le devis concernant vos menuiseries...."
	CAS "Confirmation de commande" :
		Ch_TexteMail = "Veuillez trouver ci-joint la confirmation de commande concernant vos menuiseries...."
	CAS "Facture" :
		Ch_TexteMail = "Veuillez trouver ci-joint la facture concernant vos menuiseries...."
	AUTRES CAS :
		Ch_TexteMail = "Veuillez trouver ci-joint le devis concernant vos menuiseries...."
FIN
//** Message d'attente **
OuvreFille(Fen_OK,"Envoi du message en cours." + RC + RC + "Veuillez patienter...")
//** Ouverture d'une session SMTP
SI EmailOuvreSessionSMTP(Ch_NomExpServeur,"",Ch_ServeurMail,25,EmailOptionDéfaut) = Faux ALORS
	Erreur(ErreurInfo(errComplet))
	RETOUR
FIN
//** Remise à zéro des variables Email **
EmailRAZ()
//** Demande d'un accusé de réception **
Email.AccuséRéception = Vrai
//** Paramétrage de l'expéditeur **
Email.Expéditeur = Ch_MailExp
//** Destinataire(s) du message **
Email.NbDestinataire = 1
Email.Destinataire[1] = Ch_MailDest
//** Mise en place de l'affichage des variables **
Ch_RecapErreur = "Serveur : " + Ch_ServeurMail + RC + "Nom User SMTP : " + Ch_NomExpServeur + "Expéditeur : " + Ch_MailExp + RC + "Destinataire : " + Ch_MailDest + RC
//** Pièces jointes **
Ent_NumFichierJoint = 1
//** On affecte le nombre de fichiers attachés avant l'affectation **
Email.NbAttache = ChaîneOccurrence(Ch_FichiersJoints,RC) +1
Ch_RecapErreur += "Nb Fichiers Joints : " + Email.NbAttache + RC
//tantque ExtraitChaîne(Ch_FichiersJoints,Ent_NumFichierJoint,rc,DepuisDébut) <> eot
POUR i = 1 _A_ Email.NbAttache
	//** On attache le fichier **
	Email.Attache[Ent_NumFichierJoint] = ExtraitChaîne(Ch_FichiersJoints,Ent_NumFichierJoint,RC,DepuisDébut)
	Email.IdentifiantAttache[Ent_NumFichierJoint] = "Piece" + Ent_NumFichierJoint
	//** Prévision message erreur **
	Ch_RecapErreur += "Fichier Joint " + Ent_NumFichierJoint + " : " + ExtraitChaîne(Ch_FichiersJoints,Ent_NumFichierJoint,RC,DepuisDébut) + RC
	//** Incrémentation du compteur **
	Ent_NumFichierJoint++
FIN
//** Sujet et contenu du message **
Email.Sujet = Ch_TypeDossier + " GAUTHIER"
Email.Message = Ch_TexteMail
Email.HTML = ""
//** Envoi du message **
SI EmailEnvoieMessage(Ch_NomExpServeur) = Faux ALORS
	Erreur(EmailMsgErreur(Email.Erreur),"",Ch_RecapErreur)
SINON
	//** On signifie que le message a bien été envoyé **
	Info("Le message a été transmis à " + Ch_MailDest + " !!!")
FIN
//** Fermeture de la session SMTP **
EmailFermeSession(Ch_NomExpServeur)
//** Fermeture de la fenêtre d'attente **
Ferme(Fen_OK)

Contribution le : 20/09/2010 09:57
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2