Se puede enviar correo por gmail desde una macro de excel.
Sub SendGMail()
'Para que esto funcione, desde esta url debes activar el "acceso a aplicaciones menos seguras"
'https://www.google.com/settings/security/lesssecureapps
'Recuerda que gmail tienen un límite de envió diario de correos
'https://support.google.com/a/answer/166852?hl=es
Dim objMsg
Dim msgConf
' Object creation
Set objMsg = CreateObject("CDO.Message")
Set msgConf = CreateObject("CDO.Configuration")
' Server Configuration
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "tucontraseña"
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
msgConf.Fields.Update
' Email
objMsg.To = "[email protected]"
objMsg.From = "[email protected]"
objMsg.Sender = "Ovidio"
objMsg.Subject = "El asunto del correo"
'Si quieres enviar un correo con html usa esto
objMsg.HTMLBody = "<b>Cuerpo</b> <i>del</i> <u>correo</u>"
'Si solo quieres enviar texto plano, usa esto
'objMsg.TextBody = "Cuerpo del correo"
Set objMsg.Configuration = msgConf
' Send
objMsg.Send
' Clear
Set objMsg = Nothing
Set msgConf = Nothing
End Sub
Es solo un ejemplo, trata de adaptarlo a tus necesidades.
Tienes que modificar donde pone tu correo, tu contraseña, el correo del destinatario, etc.
Otra cosa importante, para que te funcione, necesitas activar el "acceso a aplicaciones menos seguras" desde esta url
https://www.google.com/settings/security/lesssecureapps