Envoi d'un email en vba sans client

miguelangelo

XLDnaute Occasionnel
Bonjour à tous.

j'ai besoin de qq lignes de code (si ca existe) pour envoyer un email depuis excel sans avoir de client mail (pour l'envoi).

est ce possible ?

Merci de l'aide
 

miguelangelo

XLDnaute Occasionnel
Re : Envoi d'un email en vba sans client

Bonjour à tous,

je reviens pour répondre au souci que j'ai eu.

ci dessous, qq lignes de codes qui permettent l'envoi d'emails sans client.

Pour cela il vous faut connaitre au moins le serveur smtp de l'endroit ou vous vous trouver. (ou un serveur smtp si vous pouvez y accéder).

les elements en rouge sont ceux qui doivent etre modifiés. il peuvent faire référence aussi à une cellule sur votre page excel :cool:



Sub CDO_Mail_Small_Text()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

iConf.Load -1
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "mettre ici votre smtp"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With

strbody = "bonjour" & vbNewLine & _
"1er ligne dans le corps de votre email" & vbNewLine & _
"2e ligne dans le corps de votre email" & vbNewLine & _
"3e ligne dans le corps de votre email" & vbNewLine & _
"4e ligne dans le corps de votre email"

With iMsg
Set .Configuration = iConf
.To = "adresse destinataire"
.CC = "adresse copie"
.BCC = "adresse copie masquée"
.From = """nom destinataire"" <adresse destinataire>"
.Subject = "objet"
.TextBody = strbody
.Send
End With

End Sub



En mettant une petite boucle en amont, vous avez un publipostage !!
enjoy
 

GuillaumA

XLDnaute Occasionnel
Re : Envoi d'un email en vba sans client

Autre méthode.

Code:
Public Sub SendMail()

Dim Cdo_Message As New CDO.Message

Set Cdo_Message.Configuration = GetSMTPServerConfig()
With Cdo_Message
.To = "mmmmme@mmmm.com"
.From = "mmmm@emmmm.com"
.Subject = "Test envoi mail via EXCEL"
.TextBody = "Bonjour,"
.Send
End With

Set Cdo_Message = Nothing

End Sub

Function GetSMTPServerConfig() As Object

Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object

Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "smtp.gmail.com"
.Item(cdoSMTPServerPort) = 465
.Item(cdoSendUserName) = InputBox("Veuillez saisir votre identifiant gmail")
.Item(cdoSendPassword) = InputBox("Veuillez saisir votre mot de passe gmail")
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSMTPUseSSL) = True
.Update
End With

Set GetSMTPServerConfig = Cdo_Config
Set Cdo_Config = Nothing
Set Cdo_Fields = Nothing
End Function


Cordialement.
 
Dernière édition:

Discussions similaires