begin process at 2012 02 13 11:48:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > ENVOI D'UN MAIL AVEC OUTLOOK EXPRESS, OUTLOOK

ENVOI D'UN MAIL AVEC OUTLOOK EXPRESS, OUTLOOK


 Information sur la source

Note :
6,88 / 10 - par 8 personnes
6,88 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Débutant Date de création :27/02/2003 Date de mise à jour :28/02/2003 14:03:29 Vu :11 456

Auteur : GrandPas

Ecrire un message privé
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Ce code écrit en VB6 permet d'envoyer un mail à partir d'une application VB. Il utilise l'API shell32. Un click sur le bouton de commande entraîne l'ouverture d'une fenêtre de la messagerie par défaut (Outlook, Outlook Express) en renseignant les champs destinataire (adresse mail), sujet et corps du message.

Source

  • Option Explicit
  • Private Declare Function ShellExecute Lib "shell32.dll" _
  • Alias "ShellExecuteA" (ByVal hwnd As Long, _
  • ByVal lpOperation As String, ByVal lpFile As String, _
  • ByVal lpParameters As String, ByVal lpDirectory _
  • As String, ByVal nShowCmd As Long) As Long
  • Private Const SW_SHOWNORMAL = 1
  • Public Sub SendMail(Optional Address As String, _
  • Optional Subject As String, Optional Body As String, _
  • Optional CC As String, Optional BCC As String)
  • Dim strCommand As String
  • 'Construction du message
  • 'Sujet du message
  • If Len(Subject) Then strCommand = "&Subject=" & Subject
  • 'Corps du message
  • If Len(Body) Then strCommand = strCommand & "&Body=" & Body
  • 'Copie du message (adresse email attendue)
  • If Len(CC) Then strCommand = strCommand & "&CC=" & CC
  • 'Copie cachée du message
  • If Len(BCC) Then strCommand = strCommand & "&BCC=" & BCC
  • 'Ajout de l'adresse email à la ligne de commande
  • strCommand = "mailto:" & Address & strCommand
  • 'Execution de la commande via l'API
  • Call ShellExecute(Me.hwnd, "open", strCommand, _
  • vbNullString, vbNullString, SW_SHOWNORMAL)
  • End Sub
  • 'Bouton de commande pour déclencher l'envoi du mail
  • Private Sub Command1_Click()
  • SendMail "email", "sujet", "message", "copie", "copie cachée"
  • End Sub
Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" (ByVal hwnd As Long, _
    ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory _
    As String, ByVal nShowCmd As Long) As Long

Private Const SW_SHOWNORMAL = 1

Public Sub SendMail(Optional Address As String, _
    Optional Subject As String, Optional Body As String, _
    Optional CC As String, Optional BCC As String)

    Dim strCommand As String
    
    'Construction du message
    'Sujet du message
    If Len(Subject) Then strCommand = "&Subject=" & Subject
    'Corps du message
    If Len(Body) Then strCommand = strCommand & "&Body=" & Body
    'Copie du message (adresse email attendue)
    If Len(CC) Then strCommand = strCommand & "&CC=" & CC
    'Copie cachée du message
    If Len(BCC) Then strCommand = strCommand & "&BCC=" & BCC
    
    'Ajout de l'adresse email à la ligne de commande
    strCommand = "mailto:" & Address & strCommand
    
    'Execution de la commande via l'API
    Call ShellExecute(Me.hwnd, "open", strCommand, _
        vbNullString, vbNullString, SW_SHOWNORMAL)

End Sub

'Bouton de commande pour déclencher l'envoi du mail
Private Sub Command1_Click()
SendMail "email", "sujet", "message", "copie", "copie cachée"
End Sub
 

 Conclusion

Merci à tous de me faire part de vos remarques.


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

Commentaires et avis

Commentaire de emap le 04/03/2003 08:18:12

Bien mais pour accrocher une piece jointe?
|emap|

Commentaire de Pikashoute le 26/03/2003 15:25:26

pour que cela marche avec n'importe quelle messsagerie il suffit de mettre les "&subject", "&body", "&cc" et "&bcc" en minuscules.
Tester et Appprouvée !!

Commentaire de Rrominet le 22/06/2003 15:37:33

Hmmm oui c'est vrai ça, comment faire pour une pièce jointe ? :)

Commentaire de emap le 23/06/2003 07:53:55

je pense que le ' lpDirectory ' doit servir a ca. Je regarde de plus pres

Commentaire de mdelannay le 29/08/2003 11:03:17

petit pb..."&subject", marche pas..ilfaut "?subject" enfin bon..en plus le message est troncé a partir de la seconde ligne ..normale??aider moi???

Commentaire de Attilio74 le 29/10/2003 15:06:56

Y a t-il une possibilité de joindre un attachement, et si Oui, comment faire ?

Commentaire de mploufeur le 16/01/2004 00:29:39

Ce code marche plutôt très bien.
Merci!

Est-ce qu'il y a possibilité de faire un message de mail un peu plus complet qu'une chaine de caractères? Par exemple en introduisant des sauts de lignes?
J'ai essayé en mettant chr(10) et chr(13) dans la variable du teste de mail, mais ça ne marche pas...
oskour!!!!!

Commentaire de le.naja le 09/02/2004 11:20:29

Bien vu ! Et j'ai mis une très bonne cote ! ;-)
Quu'un pourrait-il me dire comment faire pour que ce ne soit pas l'espéditeur par défaut qui apparaisse dans le mail ? :-)
merci et bonne prog ! :-)

Commentaire de sebmaximus le 26/05/2004 12:56:01

Il faut utiliser les codes hexadécimales suivant pour améliorer
la chaine de caractères

Espace " " = %20
Virgule "," =  %2C
Point d'interrogation "?" =%3F
Point "." = %2E
Point d'exclamation "!" =%21
Deux point ":" =  %3A
Point virgule ";" = %3B
Saut de ligne "equivalent à chr(10)"= %0A
touche 'ENTRER' "equivalent à vbcrlf" = %0D

Ex: "Visual%20Basic%20%21%21%21"
= Visual Basic !!!

Commentaire de mploufeur le 28/05/2004 18:57:19

Ca maaaarche!
Merci à toi Sebmaximus!

Le code de GrandPas, les précisions suivantes, et tes infos font de ce code le meilleur que j'ai trouvé pour envoyer des mails avec n'importe quel pgm de mail.

Bonne prog à tous.

Commentaire de CedCastel le 14/01/2005 14:47:56

Ce serait vraiment mais alors vraiment super de savoir comment on peut joindre des pièces

Merci d'avance

Ps: A part ça ton code est super facile à mettre en test et j'ai hâte de voir un version avec pièce jointe

Commentaire de JRB76 le 22/02/2005 09:37:19

Ouais ok pour les codes hexadécimales mais si jveux mettre un bout de texte en gras ou en italique c koi les codes ? merci

Commentaire de tringle le 17/03/2005 22:11:41

Voilà ce que je recherchais depuis de mois, chapeau bas, mais comme je suis nul, j'arrive pas à le faire marcher.
J'ai crée un bouton dans excel, j'ai inserré le code dedant, quand je clic nib !
franky, merci pour votre aide

Commentaire de mploufeur le 18/03/2005 07:54:26

Je ne suis pas sur du tout que ça marche sous excel...
C'est vraiment du VB, et pas du VB pour Excel.

Commentaire de azerty99_71 le 11/04/2005 18:49:38

euh, je ne suis probablement pas doué mais pourrait tu attacher un exemple a ton code car chez moi j'ai des problemes pour le faire tourner ...

++

Commentaire de joelmarie le 11/05/2005 21:57:41

Moi ,j 'ai rajouté un ? après Adress & sur cette ligne de code pour que l'adresse se trouve au bon endroit dans outlookexpress


strCommand = "mailto:" & Address & "?" & strCommand

Commentaire de ROMUAL le 02/08/2011 15:20:20

slt!
'il vous plait, je souhaiterai utiliser ce code via excel j'ai l'erreur de compilation suivante:
"Erreur de compilation:Utilisation incorrecte du mot clé Me."

ça se passe à ce niveau
"'Execution de la commande via l'API
    Call ShellExecute(Me.hwnd, "open", strCommand, _
    vbNullString, vbNullString, SW_SHOWNORMAL)
"
quelqu'un peut m'aider?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,477 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales