Envoi d'un mail avec outlook express, outlook

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 626 fois - Téléchargée 39 fois

Contenu du snippet

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 / Exemple :


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.

A voir également

Ajouter un commentaire

Commentaires

cs_ROMUAL
Messages postés
1
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
2 août 2011

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?
joelmarie
Messages postés
27
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
12 juin 2008

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
azerty99_71
Messages postés
55
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
9 décembre 2005

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 ...

++
mploufeur
Messages postés
3
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
18 mars 2005

Je ne suis pas sur du tout que ça marche sous excel...
C'est vraiment du VB, et pas du VB pour Excel.
tringle
Messages postés
1
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
17 mars 2005

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

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.