Re: Envoi mail en prog

Posté par Aqualung le 29/5/2006 8:26:44
Bonjour,

Un exemple de code avec pièce jointe. Pour trouver les informations sur les propriétés et méthodes des objets outlook il suffit d'ouvrir l'éditeur Visual Basic d'Outlook (F11) et de rechercher dans l'explorateur d'objets.

// Description des paramètres d'entrée/sortie de 'EnvoiMessage' :
//
// Syntaxe :
//EnvoiMessage ([<P_Nomrep>[, <P_NomFic>[, <P_Sujet>[, <P_Texte>[, <P_Destinataire>[, <P_Envoyer>]]]]]])
//
// Paramètres :
// 	P_Nomrep : <Nom du répertoire contenant les fichiers joints avec ou sans "\" final>
// 	P_NomFic : <Nom du fichier (sans le chemin)>
// 	P_Sujet : <Sujet du message>
// 	P_Texte : <Texte du message>
// 	P_Destinataire : <Destinataire>
// 	P_Envoyer : <Vrai si l'envoi est automatique sans affichage>
// Valeur de retour :
// 	Aucune
// Notes :
// Cette méthode permet d'envoyer un message avec ou sans fichiers joints
//	tous les Paramètres sont facultatifs
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
FONCTION GLOBALE Outils::EnvoiMessage(	P_Nomrep="",P_NomFic="",P_Sujet="",	P_Texte="",P_Destinataire="",P_Envoyer=Faux) 	
L_Ch 			est chaîne           			// Nom des fichiers joints pour message
L_Outlook 		est un objet OLE dynamique		// Objet Outlook
L_Message 		est un objet OLE dynamique		// Objet message
L_Attachement   est un objet OLE dynamique		// Objet fichiers joints
L_Taille 		est entier  					// Taille du texte de message
L_Selection 	est booléen=Vrai				// Résultat ouverture Outlook
L_NomRech		est chaîne						// Nom pour recherche dans répertoire
// la page a été trouvée
L_Outlook=ObjetActif("Outlook.Application")
SI L_Outlook=Null ALORS
	// lancement Outlook
	L_Outlook=allouer un objet Automation "OutLook.Application"
	SI L_Outlook=Null ALORS
		Erreur("Ouverture de Outlook Impossible")
		L_Selection=Faux
	FIN
FIN
// outlook est ouvert
SI L_Selection ALORS
	L_Message=L_Outlook>>CreateItem(0)
	L_Message>>Subject=P_Sujet
	L_Message>>to=P_Destinataire
	L_Message>>Body=P_Texte+RC
	L_Taille=Taille(P_Texte)
	// Traitement des fichiers joints
	SI SansEspace(P_Nomrep)<>"" ALORS
			L_Attachement=L_Message>>Attachments
			SI SansEspace(P_NomFic)<>"" ALORS
				L_NomRech=ComplèteRep(P_Nomrep)+P_NomFic
			SINON
				L_NomRech=ComplèteRep(P_Nomrep)+"*.*"
			FIN
			L_Ch=fRep(L_NomRech,frFichier)
		// Ajout des fichiers joints
		TANTQUE L_Ch<>"" 
			L_Attachement>>Add(ComplèteRep(P_Nomrep)+L_Ch,1)
			L_Ch=fRep("")
		FIN		// Fin de boucle attachements
	FIN
	SI P_Envoyer ET PAS EnModeTest() ALORS
		L_Message>>Send()
	SINON
		L_Message>>Display()
	FIN
	// Libération des objets Outlook
	SI SansEspace(P_Nomrep)<>"" ALORS 
		libérer L_Attachement
	FIN
	libérer L_Message
	libérer L_Outlook
FIN


Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=4076&post_id=16956