Buenas! Estoi intentando enviar un correo electronico desde vb.net a una cuenta hotmail pero no hay manera :(. Les cuento lo que he intentado hasta el momento y mis problemas haber si alguien me puede ayudar.
Lo primero que he intentado meter es el siguiente codigo:
//1er INTENTO//
Código:
Imports System.Web.Mail
Module Module1
Sub Main()
Dim oMsg As MailMessage = New MailMessage
' TODO: Reemplace con la dirección de correo electrónico del remitente.
oMsg.From = "[email protected]"
' TODO: Reemplace con la dirección de correo electrónico del destinatario.
oMsg.To = "[email protected]"
oMsg.Subject = "A la mil va la vencida"
'Body
oMsg.Body = "¡Hola mundo!"
' AGREGAR UN ARCHIVO ADJUNTO.
' TODO: Reemplace con la ruta de acceso del archivo adjunto.
Dim sFile As String = "C:\temp\Hello.txt"
Dim oAttch As MailAttachment = New MailAttachment(sFile, MailEncoding.Base64)
oMsg.Attachments.Add(oAttch)
' TODO: Reemplace con el nombre de su servidor SMTP remoto.
SmtpMail.SmtpServer = "hotmail.com"
Try
SmtpMail.Send(oMsg)
MsgBox("Mensaje enviado")
Catch ex As Exception
MsgBox(ex.InnerException.ToString)
End Try
oMsg = Nothing
oAttch = Nothing
End Sub
End Module
-Añado la libreria system.messaging.dll
-El archivo a agregar existe ( comprobado )
Me da el siguiente error
************************ ERROR ***************************
An unhandled exception of type 'System.Web.HttpException' occurred in system.web.dll
Additional information: No se puede obtener acceso al objeto 'CDO.Message'.
************************************************** *******
No se si esta linea es correcta:
SmtpMail.SmtpServer = "hotmail.com"
o habria q poner otra cosa...
He seguido buscando y he leido que ese error podia ser debido a que faltaba la autentificacion asi que he probado con un nuevo codigo
//2º INTENTO//
Código:
Option Explicit On
Module Module1
Sub Main()
Const ConfigNamespace As String = _
"http://schemas.microsoft.com/cdo/configuration/"
Dim oMsg As New CDO.Message
Dim iConfig As New CDO.Configuration
Dim Flds As ADODB.Fields = iConfig.Fields
With Flds
.Item(ConfigNamespace & "smtpserver").Value = _
"hotmail.com"
.Item(ConfigNamespace & "smtpserverport").Value = 25
.Item(ConfigNamespace & "sendusing").Value = _
CDO.CdoSendUsing.cdoSendUsingPort
.Item(ConfigNamespace & "sendusername").Value = _
"mi_usuario"
.Item(ConfigNamespace & "sendpassword").Value = _
"******"
.Item(ConfigNamespace & "smtpauthenticate").Value = _
CDO.CdoProtocolsAuthentication.cdoBasic
.Update()
End With
With oMsg
.Configuration = iConfig
.From = "[email protected]"
.To = "[email protected]"
.Subject = "titulo"
.TextBody = "mi mensaje"
.Send()
End With
oMsg = Nothing
iConfig = Nothing
End Sub
End Module
- Agrego la libreria Microsoft CDO for Exchange 2000
- Relleno todos los datos necesarios en el codigo
- Sigo sin saber si --> .Item(ConfigNamespace & "smtpserver").Value = _
"hotmail.com" es correcto
Me da el siguiente error:
************************ ERROR ****************************
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mensajeria3.exe
Additional information: Error de transporte en la conexión al servidor.
************************************************** ********
Siempre me da el error al enviar el mensaje... yo creo que debe ser que no pongo bien el SMTP server. Que habría que poner ahi para mandar el mensaje a una cuenta hotmail?
Si alguien me puede ayudar estaria muy agradecido! Un saludo.
(SO: Windows XP)