Buenos dias
Tengo un problema al enviar un correo a traves de un servidor de correo
smtp, tanto desde una aplicacion windows como una aplicacion web, he probado
con el metodo simple, o sea sin auntenticar al remitente, como
autenticandolo, con el metodo cdo y con el metodo fields y no me funciona
ninguno, aqui les pego las diferente rutinas
'metodo simple:
Imports System.Web.Mail 'esto en todos los mtdos
Dim MyEmail As New MailMessage
Try
'Dim i As Int16
MyEmail.From = "remitente@serversmtp.com"
MyEmail.To = "destinatario@serversmtp.com"
MyEmail.Cc = ""
MyEmail.Subject = "Prueba Envio correo en Windows"
MyEmail.Body = "Esto es una Prueba si te llega avisame"
MyEmail.Priority = MailPriority.High
SmtpMail.SmtpServer = "192.168.1.200"
SmtpMail.Send(MyEmail)
'msgError("Su E-mail ha sido enviado correctamente ")
Catch ex As Exception
txtMensaje.Text = "Excepción: " & ex.Message
Do Until (ex.InnerException Is Nothing)
txtMensaje.Text = txtMensaje.Text & ex.InnerException.ToString()
ex = ex.InnerException
Loop
End Try
'metodo CDO
Const ConfigNamespace As String = _
"
http://schemas.microsoft.com/cdo/co...ion/"
Dim oMsg As New CDO.Message
Dim iConfig As New CDO.Configuration
Dim Flds As ADODB.Fields = iConfig.Fields
Try
With Flds
.Item(ConfigNamespace & "smtpserver").Value = "192.168.1.200"
.Item(ConfigNamespace & "smtpserverport").Value = 25
.Item(ConfigNamespace & "sendusing").Value = _
CDO.CdoSendUsing.cdoSendUsingPort
.Item(ConfigNamespace & "sendusername").Value = "user"
.Item(ConfigNamespace & "sendpassword").Value = "pwd"
.Item(ConfigNamespace & "smtpauthenticate").Value = _
CDO.CdoProtocolsAuthentication.cdoBasic
.Update()
End With
With oMsg
.Configuration = iConfig
.From = "remitente@serversmtp.com"
.To = "destino@serversmtp.com"
.Subject = "Test CDO con VB.NET"
.TextBody = "Esto es una prueba si te llega avisame"
.Send()
End With
Catch ex As Exception
txtMensaje.Text = "Excepción: " & ex.Message
Do Until (ex.InnerException Is Nothing)
txtMensaje.Text = txtMensaje.Text & ex.InnerException.ToString()
ex = ex.InnerException
Loop
End Try
oMsg = Nothing
iConfig = Nothing
'metodo fields
Const ConfigNamespace As String = _
"
http://schemas.microsoft.com/cdo/co...ion/"
Dim oMsg As New System.Web.Mail.MailMessage
Dim Flds As System.Collections.IDictionary
Flds = oMsg.Fields
With Flds
.Add(ConfigNamespace & "smtpserver", "192.168.1.200")
.Add(ConfigNamespace & "smtpserverport", 25)
.Add(ConfigNamespace & "sendusing", 2)
.Add(ConfigNamespace & "sendusername", "user")
.Add(ConfigNamespace & "sendpassword", "pwd")
.Add(ConfigNamespace & "smtpauthenticate", 1)
End With
With oMsg
.From = "Remitente@serversmtp.com"
.To = "destino@serversmtp.com"
.Subject = "Test MailMessage.Fields con VB.NET"
.Body = "Esto es una prueba, si te llega avisame"
End With
Try
System.Web.Mail.SmtpMail.Send(oMsg)
Catch ex As Exception
txtMensaje.Text = "Excepción: " & ex.Message
Do Until (ex.InnerException Is Nothing)
txtMensaje.Text = txtMensaje.Text & ex.InnerException.ToString()
ex = ex.InnerException
Loop
End Try
El mensaje que me tira es el siguiente:
Excepción: No se puede obtener acceso al objeto
'CDO.Message'.System.Reflection.TargetInvocationException: Se inició una
excepción en el destino de la invocación. >
System.Runtime.InteropServices.COMException (0x80040211): No se pudo enviar
el mensaje al servidor SMTP. El código de error de transporte fue 0x800ccc15.
La respuesta del servidor fue not available
He de decir q si abro outlook mando y recibo correos sin problemas
¿Alguien tiene alguna idea de a que se puede deber este error?¿Necesito
tener instalado el framework en el servidor smtp?
Esto ya lo he hecho en otros lugares y nunca he tenido problemas he estado
buscando información pero no encuentro nada, solo este fallo con outlook pero
a mi outlook me funciona ok.
El servidor SMTP uso es MDaemon
Ayudadme porfavor que estoy un poquito desesperado GRACIAS.
Leer las respuestas