Macro para enviar correo con gmail

Sres Expertos, me pueden ayudar con un código para una macro, en el cual quiero enviar con correo con archivo adjunto con gmail, aquí tengo uno pero como agrar la función de adjuntar el archivo.

Sub CDO_Mail_Small_Text_2()
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 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "pwd"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
strbody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"
With iMsg
Set .Configuration = iConf
.To = "[email protected]"
.CC = ""
.BCC = ""
.From = """inocampo"" <[email protected]>"
.Subject = "Important message"
.TextBody = strbody
.Send
End With
End Sub

1 Respuesta

Respuesta
3

Te pongo otro código para enviar por gmail con archivo

Sub
SendMail_Gmail()
'Fuente:http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/337-enviar-correo-en-vb-con-microsoft-cdo.htm
Dim Email As CDO.Message
Set Email = New CDO.Message
Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
Email.Configuration.Fields(cdoSendUsingMethod) = 2
With Email.Configuration.Fields
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465)
   .Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(1)
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
   .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
   .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "pwd"
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End With
With Email
    .To = Trim([a2].Value)
    .From = Trim([b2].Value)
    .Subject = Trim([c2].Value)
    .TextBody = Trim([d2].Value)
    If [a2].Value <> vbNullString Then
        .AddAttachment (Trim([e2].Value))
    End If
    .Configuration.Fields.Update
    On Error Resume Next
    .Send
End With
    If Err.Number = 0 Then
        MsgBox "El mail se envió con éxito", vbInformation, "Informe"
    Else
        MsgBox "Se produjo el siguiente error: " & Err.Description, vbCritical, "Error nro " & Err.Number
    End If
End Sub

Cambia en la macro "[email protected]", por tu correo de gmail

Cambia en la macro "pwd", por tu password

En la celda "A2" tienes que poner el correo del destinatario

En la celda "B2" escribe nuevamente tu correo de gmail

En la celda "C2" pon el asunto del correo

En la celda "D2" pon el cuerpo del mensaje

En la celda "E2" escribe la ruta y el nombre del archivo, ej: C:\archivos\datos.xlsx

No he recibido comentarios, podrías finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas