Envoyer un mail avec VB6

cs_piou62 Messages postés 40 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 12 septembre 2012 - 20 juil. 2008 à 13:23
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 20 juil. 2008 à 17:02
Bonjour

Voila je voudrais via VB6 envoyer un mail à plusieurs personnes dont la liste sera dans un tableau dynamique.
J'ai trouvé comme code :
Declare Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" (ByVal hwnd As Long, _
                           ByVal lpOperation As String, ByVal lpFile As String) As Long
Public Sub EnvoiMail(Optional Adresse As String, _
                      Optional Sujet As String, _
                      Optional Contenu As String)


    Dim Temp As String
    'Contenu = Replace(Contenu, Chr(13), vbCrLf)
   
    'Créé la chaîne de commande avec les paramètres fournis
    Temp = "&Subject=" & "Essai"
    Temp = Temp & "&Body=" & "Bonjour"
   
    'Remplace le premier '&' (s'il existe) par un '?'    If Mid(Temp, 1, 1) "&" Then Mid(Temp, 1, 1) "?"
   
    'Ajoute la commande 'mailto:' et l'adresse
    Temp = "mailto:" & "[mailto:nom@fournisseur.fr nom@fournisseur.fr] "& Temp
   
    'Execute la commande par l'API
    Call ShellExecute(F_Principal.hwnd, "open", Temp)


End Sub

Mais quand j'essaie il me met comme message d'erreur :Objet Required en mettant   Call ShellExecute(F_Principal.hwnd, "open", Temp) en jaune

Est-il possible d'ouvrir la messagerie par défaut et en mettant les info sujet, coprs du texte ...

Merci de votre aide

6 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
20 juil. 2008 à 13:37
Shell(





"cmd.exe /c start mailto:cobol@netcobol.com?Subject=Request for details of on-site training in NetCOBOL for .NET&Body=blabal"

)
c'est un truc du genre pour Body et Subject je suis pas sur

Au contraire des chasseurs qui ne sont pas des lapins, les pollueurs, eux, sont des ordures

/B>
0
cs_piou62 Messages postés 40 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 12 septembre 2012
20 juil. 2008 à 14:34
Ca y est j'ai trouvé

Dim Monoutlook As Object, MonMessage As Object


Set Monoutlook = CreateObject("Outlook.Application")
Set MonMessage = Monoutlook.createitem(0)




MonMessage.To = "adressemail"
MonMessage.Subject = "Essai"
MonMessage.body = "Bonjour 2"
MonMessage.send
Set Monoutlook = Nothing

Et ca marche

Par contre, il me met un message  de sécurité alerte qui apparait et en allant dans outils, option, sécurité, je ne trouve rien pour le désactiver
0
cs_piou62 Messages postés 40 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 12 septembre 2012
20 juil. 2008 à 14:55
re,

j'ai trouvé un logiciel :    Advanced Security for Outlook qui permet d'éviter l'apparition de ce message

cool
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 juil. 2008 à 16:13
salut,

tout le monde n'a pas outlook, çà serait une erreur de coder en supposant qu'il est installé

http://www.codyx.org/snippet_pre-remplir-champs-mail-client-defaut_623.aspx
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_piou62 Messages postés 40 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 12 septembre 2012
20 juil. 2008 à 16:18
j'ai déjà essayé ca et il me met toute la ligne call en jaune avec un message d'erreur Object required donc je me suis rabattu sur une autre solution et ceux qui utiliseront mon logiciel ont outlook
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 juil. 2008 à 17:02
comment peux-tu avoir un "object required", il n'y en a pas....

as-tu essayé dans un nouveau projet?

une form, un bouton

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
Sub SendMailWithDefaultClient(ByVal sDeliveredTo As String, ByVal sSubject As String, sBody As String)
'   remplace les VBCRLF par son codage, valide uniquement pour
le  format TXT
    sBody = Replace(sBody, vbCrLf, "%0D%0A")
'   envoie
    Call ShellExecute(0&, "Open", "mailto:" & sDeliveredTo & "?&Subject=" & sSubject & "&body=" & sBody, vbNullString, vbNullString, vbNormalFocus)
End Sub

Private Sub Command1_Click()
    SendMailWithDefaultClient "toto@wanadoo.fr", "test de pré-remplissage", "mon texte dans le mail"
End Sub

l'exemple était avec Text1.Text, évidemment si tu copies/colles sans lire et que tu n'as pas de Text1, forcément çà déconne....
0
Rejoignez-nous