none
Mandar Correo con Visual Basic .Net 2005

    Question

  • Buen dia Masters de la programacion, estoy intentando mandar correos desde una aplicacion hecha en Visual Basic .NET usando Visual Studio 2005. El problema es, que cuando intento mandar correos a dominos externos (ej: hotmail.com) me manda un error de sintaxis que hasta ahora no se a que se deba. Cuando mando correos a cuentas con el mismo dominio interno, no tengo problemas, se mandan bien e incluso con archivos adjuntos.

    A continuacion les muestro el codigo que tengo para correos internos y externos.
            Dim _Message As New System.Net.Mail.MailMessage()
            Dim _SMTP As New System.Net.Mail.SmtpClient
    
            'Si el servidor requiere autenticación:
            'CONFIGURACIÓN DEL STMP
    
            _SMTP.Credentials = New System.Net.NetworkCredential("lflores@enviosexternos.com", "lflores")
            _SMTP.Host = "54.86.234.154"
            '_SMTP.Host = "mail.enviosexternos.com"
            _SMTP.Port = 110
            _SMTP.EnableSsl = True
    
    
            'si el servidor NO requiere autenticacion:
    
            '_SMTP.Host = "mail.enviosexternos.com" '"tu servidor smtp"
    
            'resto del código:
    
            ' CONFIGURACION DEL MENSAJE
    
            _Message.[To].Add("cuentaexterna@hotmail.com") 'Cuenta de Correo al que se le quiere enviar el e-mail
            _Message.From = New System.Net.Mail.MailAddress("lflores@enviosexternos.com", "SAM", System.Text.Encoding.UTF8) 'Quien lo envía
            _Message.Subject = "Correo enviado desde vb.net" 'Sujeto del e-mail
            _Message.SubjectEncoding = System.Text.Encoding.UTF8 'Codificacion
            _Message.Body = "cuerpo del correo" 'contenido del mail
            _Message.BodyEncoding = System.Text.Encoding.UTF8
            _Message.Priority = System.Net.Mail.MailPriority.High
            _Message.IsBodyHtml = False
    
            ' ADICION DE DATOS ADJUNTOS
    
                Dim _File As String = "C:\pruebacorreo.txt" 'archivo que se quiere adjuntar
                Dim _Attachment As New System.Net.Mail.Attachment(_File, System.Net.Mime.MediaTypeNames.Application.Octet)
                _Message.Attachments.Add(_Attachment)
    
            'ENVIO
            Try
                _SMTP.Send(_Message)
            Catch ex As System.Net.Mail.SmtpException
                  MessageBox.Show(ex.ToString)
            End Try
    Como pueden ver los unicos datos que cambian son los del "Host", que muy seguramente me falta algun dato pero no tengo idea cual sea. Este es el error que me muestra cuando intento mandar un correo.

    System.Net.Mail.SmptException: Error de sintaxis, comando no reconocido. La respuesta del servidor fue: Hello there.
    en System.Net.Mail.SmptConnection.GetConnection(String host, Int32 port)
    en System.Net.Mail.SmptTransport.GetConnection(String host, Int32 port)
    en System.Net.Mail.SmptClient.GetConnection()
    en System.Net.Mail.SmptClient.Send(MailMessage message)
    en NomProyecto.NomForma.EnviaCorreo() en C:\NomProyecto\Formas\NomForma.vb:linea 229

    Altere el nombre del proyecto y forma de esta ultima linea para hacerla mas corta, la linea 229 es donde esta el codigo :
    _SMTP.Send(_Message)

    Asi que realmente no me dice mucho. Espero puedan ayudarme. Les agradesco de antemano la atencion y ayuda. Saludos
    Primero programo, despues existo. =P
    Thursday, November 05, 2009 10:54 PM

Answers

All replies

  • Hola!

    ¿Ha intentado utilizar otro SMTP HOST ya?

    Saludos!
    Rafael Fagundes
    Tuesday, November 10, 2009 2:22 PM
  • hola

    - pero si envias correo interno te funciona ?
    me refiero a un mail interno de ese host, o servidor de mail

    - has probado utilizar gmail como servidor de correo para probar el codigo

    Send Email with Gmail

    How to Send Mails from your GMAIL Account through VB.NET or C#. Windows Programming, with a Bit of Customization

    obtener de estos link la info de host y port, para realizar la conexion, y probar si tu codigo funciona correctamente con otro host como comenta Rafael, la idea es descartar que no se un problema de ese hsot en particular

    por ahi si vez que con gmail funciona, podrias consultar a tu administrador de ese servidor de mail para ver si te da una mano y no hay alguna opcion que le este faltando, para que el mail pueda salir

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Tuesday, November 10, 2009 3:20 PM
  • Hola,

    Si no tengo mal entendido, y almenos yo mismo lo tengo en mi servidor, si activas SSL ya no puedes trabajar con el puerto 110, sino que has de trabajar con el 587. El puerto 110 es para SMTP sin encriptación.

    Prueba primero a quitar la encriptacion sin SSL a ver que pasa,
    _SMTP.EnableSsl = False
    
    Y si funciona, vuelve a activarlo y cambia el puerto. Pero no todos los servidores tienen activado el puerto con SSL, así que primero prueba sin la encriptación.
    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    Tuesday, November 10, 2009 5:54 PM
  • Hola buenas noches, trata con cualquier otro servidor de correo y si te v a afuncionar yo utilizo gmail y si sirve correctamente
    LAlo
    Thursday, November 12, 2009 2:04 AM