Envoyer un email en code sans outlook, sans mapi, sans socket, et facilement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 877 fois - Téléchargée 42 fois

Contenu du snippet

Il faut ajouter les 2 références suivantes :
Microsoft ADO 2.5 minimum
Microsoft CDO pour Windows 2000 ou Microsoft CDO pour Exchange 2000
CDO non disponible sous Windows 9x

Créez un nouveau projet, ajoutez un bouton sur le formulaire, remplacer les parametres et coller le code ci dessous

Notez bien que le choix du serveur SMTP est fortement conditionné par votre connexion internet. Le serveur SMTP de Freesurf par exemple n'accepte pas d'envoyer des Mails si vous n'etes pas connecté actuellement chez eux, sauf si vous envoyer un mail pour un utilisateur freesurf.

Source / Exemple :


'---------------------------

 Private Sub Command1_Click()
 Dim iMsg As New CDO.Message
 Dim iConf As New CDO.Configuration   
 
 Dim Flds As ADODB.Fields
 Set Flds = iConf.Fields
 
 With Flds
   .Item(cdoSendUsingMethod) = cdoSendUsingPort
   .Item(cdoSMTPServer) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour exchange
   '.Item(cdoSMTPServerName) = "un serveur SMTP"	' Si vous utilisez la librairie CDO pour Windows 2000
   .Item(cdoSMTPConnectionTimeout) = 10
   .Item(cdoSMTPAuthenticate) = cdoBasic
   .Item(cdoSendUserName) = "Le nom du compte de la messagerie"
   .Item(cdoSendPassword) = "Votre mot de passe"
   .Item(cdoURLProxyServer) = "server:80"
   .Item(cdoURLProxyBypass) = "<local>"
   .Item(cdoURLGetLatestVersion) = True
   .Update
 End With 

 With iMsg
   Set .Configuration = iConf
       .To = """Nom quelconque"" <Adresse email>"
       .From = """Nom quelconque"" <adresse email>"
       .Subject = "Ca marche !"
       .TextBody = "sans probleme"
       '.AddAttachment "C:\un fichier quelconque"
       .Send
 End With

 End Sub

'-----------------------------------------------

A voir également

Ajouter un commentaire

Commentaires

cs_jujufa
Messages postés
7
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
10 mai 2009
-
Salut, j'aime bien ce code mais je n'arrive pas à envoyer d'e-mail avec un compte notes different de celui qui est connecté au PC
faucheux
Messages postés
6
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2003
-
Un problème: les messages non délivrables ne sont pas retournés.
Si l'adresse est mauvaise, le message part dans la nature et je ne suis pas informé qu'il n'a pas abouti. J'ai pourtant renseigné:
.Item(cdoSMTPServer) = "smtp.wanadoo.fr" ' (je ne sais pas si c'est bon et ça a l'air de ne servir à rien, et
.From = """Mon Nom"" <Mon adresse email>" qui parait bien pris en compte
Je ne vois pas ce qu'il faut indiquer de plus pour que les retours me reviennent. Merci pour votre aide.
faucheux
Messages postés
6
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2003
-
Ca fonctionne super !!! Avec ces éléments je vais pouvoir amélioer un petit logiciel utilisé sous tous les Windows. Je ne pense qu'il n'y aura pas des problèmes (jai déjà essayé une installation sous 98 et ça marche).
Ca me ferait très plaisir que vous m'appeliez au 01.30.30.60.70 pour:
1) vous remercier de vive voix
2) vous exposer rapidement mon application qui pourra peut-être vous intéresser.
cs_Tito
Messages postés
4
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
12 avril 2002
-
Pour envoyer un mail au format HTML avec des références telles que des images, il faut utiliser la methode "AddRelatedBodyPart". C'est une sorte de collection d'objet que l'on référence et qui est disponible dans le code HTML du mail.

Exemple :

.HTMLBody = ""
.AddRelatedBodyPart "C:Image.jpg", "LOGO", cdoRefTypeLocation
faucheux
Messages postés
6
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2003
-
Le message de Tito répond tout à fait à mon problème. Un très grand Merci.
Je recherche maintenant la solution pour insérer des images provenant de fichiers locaux. Avec des images sur Internet insérées dans le HTLM ca marche très bien. Mais je n'arrive pas à insérer des images locales comme le fait Outlook express par exemple. Auriez vous encore une idée lumineuse sur la question? Je suis prêt à me reconnaître de votre aide qui m'est très utile: 01.30.30.60.70.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.