Envoi d mail via vb [Résolu]

Signaler
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008
-
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008
-
kikou tt l monde,
je vous explique mon cas. j ve envoyer des mail via  vb .j'ai mis le code suivant :

Dim config As CDO.Configuration
Dim email As CDO.Message


Set config = New CDO.Configuration
With config.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.yahoo.fr"
    .Update
End With


Set email = New CDO.Message
With email
Set .Configuration = config
.from = "[mailto:xxxxxxxxx@yahoo.fr xxxxxxxxx@yahoo.fr]"
.To = "[mailto:xxxxxxxxxx@yahoo.fr xxxxxxxxxx@yahoo.fr]"
.Subject = "mon Sujet"
.Textbody = "mon message"
.Send
End With
End Sub

j'ai essaié "smtp.mail.yahoo.fr" puis "smtp.gmail.com" en changeant lé @ source et destination à des adresses gmail aussi mais j'ai toujours le même message d'erreur qui est le suivant:
erreur d'excécution'-2147220975(8004211)':
le message n'a pas pu être ennvoyé vers le serveur smtp .le code d'erreur de transport était 0x800CCC14. la réponse du serveur était not available.

 et je n y comprends rien , je n arrive pa à savoir d'ou vient le probléme. je pense que c'est  le smtp mai j'en suis pas sur et si c'était le cas je n sais pas quoi faire puisque je débute avecl'envoi d mail c'est ma premiére foi é ça se voi .
svp si quelqu'un peut m'aider ça me frait trop plaisir.
 merci d'avance
ps: cé urgent.

10 réponses

Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Désolé je suis allez un peu vite, il était un peu tot

Private Sub Form_Load()
'MailDemandeur Nom de l'expediteur as string
'MailDestinataire Liste des destinataires separés par des ; as string
'MailTitre Titre du mail as string
'MailContenu Contenu du mail as string
'MailFileJoint Chemin de la piéce jointe as string
'MailHtml Si le contenu est du html alors True, sinon False
envoimail "[mailto:Stephan.COCHET@hotmail.fr Stephan.COCHET@hotmail.fr]", "[mailto:Stephan.COCHET@hotmail.fr Stephan.COCHET@hotmail.fr]", "Essai mail", "Pour Valider l'envoi", "", False
End Sub
Public Function SendMail2ATT(NomFrom As String, sDestinataire As String, sObjet As String, sMessageText As String, Optional txtAttach As String "", Optional bHtml As Boolean True)If NomFrom "" Then NomFrom "[mailto:Expediteur.par.defaut@hotmail.fr Expediteur.par.defaut@hotmail.fr]" 'Nom expediteur par defautIf gsSMTPHost "" Then gsSMTPHost "10.20.7.131" 'Adresse du server smtp par defaut
Dim oSendMail As Object
On Error GoTo Fin
sDestinataire = Replace(sDestinataire, ",", ";")
    strComputer = "\" & Environ$("COMPUTERNAME")
Set oSendMail = CreateObject("vbSendMail.clsSendMail")
If bHtml Then
    With oSendMail
    .EmailAddressValidation = 0
    .SMTPHost = gsSMTPHost       'adresse Serveur Smtp
    .From = NomFrom                     'Nom expediteur
    .Recipient = sDestinataire            'Liste des destinataires
    .Subject = sObjet                        'Objet du mail
    .MESSAGE = "Message envoyé depuis un PC connecté sous " & NameUser & "

" & sMessageText & "
" 'Contenu du mail
    .Attachment = Trim(txtAttach)       'Piéce joint
    .AsHTML = bHtml                       'Traitement si c'est du html
    .Send                                            'Envoi du mail
    End With
Else
    With oSendMail
    .EmailAddressValidation = 0
    .SMTPHost = gsSMTPHost
    .From = NomFrom
    .Recipient = sDestinataire
    .Subject = sObjet
    .MESSAGE = "Message envoyé depuis un PC connecté sous " & NameUser & vbCrLf & vbCrLf & sMessageText & vbCrLf
    .Attachment = Trim(txtAttach)
    .Send
    End With
End If
SendMail2ATT = "Ok"
Exit Function
Fin:
'Gestion de l'erreur
   SendMail2ATT = "NOk"
  'MsgBox "   !Error in ModFonction!" & vbCrLf & "Votre Soft n'est pas à jour" & vbCrLf & "Remonter l'infomation SVP"
End Function


Private Function envoimail(MailDemandeur As String, MailDestinataire As String, MailTitre As String, MailContenu As String, MailFileJoint As String, MailHtml As Boolean)
   TestMail = SendMail2ATT(MailDemandeur, MailDestinataire, MailTitre, MailContenu, MailFileJoint, MailHtml)
   If TestMail = "NOk" Then
    TestMail = SendMail2ATT(MailDemandeur, MailDestinataire, MailTitre, MailContenu, MailFileJoint, MailHtml)
    If TestMail = "NOk" Then MsgBox ("Attention le Mail " & vbCrLf & MailTitre & vbCrLf & " non envoyé" & vbCrLf & "Remonter l'info SVP")
    End If
End Function
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008

salut tout le monde ,
pour mon  problème ,c'est bon il a été résulu jé utilisé le code suivant:

Dim OutlookApp As New Outlook.Application
    Dim NewMail As Outlook.MailItem
    Set NewMail = OutlookApp.CreateItem(olMailItem)
    NewMail.Recipients.Add ("[mailto:xxxxxx@xx.xx xxxxxx@xx.xx]")
    NewMail.Subject = "test"
    NewMail.Body = "cé bon  " & fcontrat.Cells(i, 4).Value
    NewMail.Send

mais ça génére un message de sécurité donc ce n'est pas automatique à 100% , c'est pour cette raison que j'ai utilisé le logiciel ClickYes que j'ai connu grace à FloSch. qu'on utilise aprés création de l'executable. et ça marche
j'espére que ça aidra d'autre ,personnelement ce truc ma fait trop mal à la téte.
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Bonjour,

Je ne sais si ça peux t'aider mais il y a une Dll qui n'est pas trop mal pour l'envoi de mail.
C'est vbSendMail.dll elle permet l'envoi de piece jointe, du html, etc...
Il suffit juste d'un compte sur serveur smtp

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008

merci pour ton aide ,
mais peux tu m expliquer comment l utiliser ?si possible.
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Pas de probleme.

Je te fais ça demain matin avec un petit exemple.

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Bonjour, apres avoir enregister la dll
Public Function SendMail2ATT(NomFrom As String, sDestinataire As String, sObjet As String, sMessageText As String, Optional txtAttach As String "", Optional bHtml As Boolean True)If NomFrom "" Then NomFrom "[mailto:SExpediteur.par.defaut@hotmail.fr Expediteur.par.defaut@hotmail.fr]" 'Nom expediteur par defautIf gsSMTPHost "" Then gsSMTPHost "10.20.7.131" 'Adresse du server smtp par defaut
Dim oSendMail As Object
On Error GoTo Fin
sDestinataire = Replace(sDestinataire, ",", ";")
    strComputer = "\" & Environ$("COMPUTERNAME")
Set oSendMail = CreateObject("vbSendMail.clsSendMail")
If bHtml Then
    With oSendMail
    .EmailAddressValidation = 0
    .SMTPHost = gsSMTPHost       'adresse Serveur Smtp
    .From = NomFrom                     'Nom expediteur 
    .Recipient = sDestinataire            'Liste des destinataires
    .Subject = sObjet                        'Objet du mail
    .MESSAGE = "Message envoyé depuis un PC connecté sous " & NameUser & "

" & sMessageText & "
" 'Contenu du mail
    .Attachment = Trim(txtAttach)       'Piéce joint
    .AsHTML = bHtml                       'Traitement si c'est du html 
    .Send                                            'Envoi du mail 
    End With
Else
    With oSendMail
    .EmailAddressValidation = 0
    .SMTPHost = gsSMTPHost
    .From = NomFrom 
    .Recipient = sDestinataire
    .Subject = sObjet
    .MESSAGE = "Message envoyé depuis un PC connecté sous " & NameUser & vbCrLf & vbCrLf & sMessageText & vbCrLf
    .Attachment = Trim(txtAttach)
    .Send
    End With
End If
SendMail2ATT = "Ok"
Exit Function
Fin:
'Gestion de l'erreur
   SendMail2ATT = "NOk"
  MsgBox "   !Error in ModFonction!" & vbCrLf & "Votre Soft n'est pas à jour" & vbCrLf & "Remonter l'infomation SVP"
End Function

MailDemandeur 'Nom de l'expediteur as string
MailDestinataire 'Liste des destinataires separés par des ; as string
MailTitre            'Titre du mail as string
MailContenu      'Contenu du mail as string
MailFileJoint      'Chemin de la piéce jointe as string
MailHtml           'Si le contenu est du html alors True, sinon False  

Private sub envoimail()
   TestMail = SendMail2ATT(MailDemandeur, MailDestinataire, MailTitre, MailContenu, MailFileJoint, MailHtml)
   If TestMail = "NOk" Then
    TestMail = SendMail2ATT(MailDemandeur, MailDestinataire, MailTitre, MailContenu, MailFileJoint, MailHtml)
    If TestMail = "NOk" Then MsgBox("Attention le Mail " & vbCrLf & MailTitre & vbCrLf & " non envoyé" & vbCrLf & "Remonter l'info SVP")
    End If
end sub

En esperant que ça pourra t'aider

@+: =aHR0cDovL21lbWJyZXMubHljb3MuZnIvc2NjcmVhdC8= SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008

merci FMatrix07 pr le code .
quand j'ai mis ton code,  j'ai eu le message d'erreur du msgbox :s:s .
que faire?
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008

bonsoir FMatrix07 ,
merci pour ton aide , quand j'ai mis ton code, je n'ai plus le message d'erreur de tout à l'heure.mais l envoi ne s'effectue pas
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Je pense que ça viens de ton antivirus.

Tu peux regarder ici j'ai fais une source que j'ai déposé il y a quelque temps sur VBFrance

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2008

salut,
mon problème n'est toujours pas résolu :s:s je n sais plus quoi faire.
j'ai tout le temps le message d'erreur suivant:
le transport a échoué dans sa connexion au serveur
SVP s'il y a quelqu'un qui peut m'aider ça me rendrait un grand service .
PS: l entreprise ou je passe mon stage utilise outlook.
merci d'avance.