Este es el código
Private Sub CommandButton1_Click()
'Fuente: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/337-enviar-correo-en-vb-con-microsoft-cdo.htm
'mod.Por.DAM para hotmail desde un userform
Dim Email As CDO.Message
Set Email = New CDO.Message
correo = TextBox1
passwd = TextBox2
destino = TextBox3
mensaje = TextBox4
cuerpo = "cuerpo"
Email.Configuration.Fields(cdoSMTPServer) = "smtp.live.com"
Email.Configuration.Fields(cdoSendUsingMethod) = 2
With Email.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(25)
.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") = correo
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = passwd
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End With
With Email
.To = destino
.From = correo
.Subject = mensaje
.TextBody = cuerpo
.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
Estoy usando el puerto 25 para conectarse, si tienes problemas cambia a 465 en esta línea
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(25)
Si no quieres poner cuerpo del mensaje, comenta esta línea
.TextBody = cuerpo