none
email SMTP por ip RRS feed

  • Pregunta

  • alguien puede explicarme de porque mi funcion, no funciona con SMTP configurado por ip ejemplo(182.xxx.xxx)

    public void email_send(string SenderMail, string SenderPass, string DestMail, string Subject, string Body, string FilePath = "")
            {
                try
                {
    
                    MailMessage mail = new MailMessage();
                    SmtpClient SmtpServer = new SmtpClient(textBox10.Text, int.Parse(textBox12.Text)); // textbox.Text= SMTP, textBox12.Text = PUERTO
                    
                    mail.From = new MailAddress(SenderMail);
                    mail.To.Add(DestMail);
                    mail.Subject = Subject; // nuevo
                    mail.Body = Body;
                    mail.IsBodyHtml = true;//nuevo
                    mail.ReplyToList.Add(new MailAddress(SenderMail));
                    mail.Priority = MailPriority.Normal;
                    if (checkEdit2.Checked==true)
                    {
                        SmtpServer.UseDefaultCredentials = true;
                    }
                    else
                    {
                        SmtpServer.UseDefaultCredentials = false;
                    }
                    if (SSLcheckbox.Checked == true)
                    {
                        SmtpServer.EnableSsl = true;
                    }
                    else
                    {
                        SmtpServer.EnableSsl = false;
                    }
    
                    if (FilePath != "")
                    {
                        System.Net.Mail.Attachment attachment;
                        attachment = new System.Net.Mail.Attachment(FilePath);
                        mail.Attachments.Add(attachment);
                    }
                    if (nsOnOffBox5.Checked == true)
                    {
                        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                        SmtpServer.Send(mail);
                    }
                   
                }
    
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message);
                   
    
                }
    
                return;

    Con correos normales como, gmail, yahoo, etc SMTP (strings), funciona correcto.

    intente convertir el "textbox12.Text" con Convert.Toin32(textbox12.Text), pero nada..

    lunes, 14 de septiembre de 2015 18:22

Respuestas

  • el certificado remoto no es valido segun el procedimiento de validacion

    Eso significa que has marcado el check de "usar SSL". Si haces eso, la conexión encriptada se intenta validar con el certificado que envía el servidor. En el certificado viene el nombre del servidor junto con la firma de la autoridad que emitió el certificado. El procedimiento de validación compara que el nombre de servidor que tú pusiste coincida con el que viene en el certificado. Pero si el nombre que pusiste es la dirección IP (y no el nombre DNS), no puede coincidir con el certificado, así que te da un error. Me temo que si quieres ir por dirección IP, tendrás que prescindir de SSL (o convencer al administrador del servidor para que instale un certificado que lleve la IP en lugar del nombre).
    • Marcado como respuesta nista69 lunes, 14 de septiembre de 2015 19:38
    lunes, 14 de septiembre de 2015 19:24

Todas las respuestas

  • El SmtpClient sí que funciona con direcciones IP, siempre que la dirección sea correcta y todos los demás parámetros sean correctos. El ejemplo que pones (182.xxx.xxx) NO puede ser correcto, porque se requiere una dirección de cuatro partes (182.xxx.xxx.xxx). Suponiendo que lo hayas comprobado y esté bien, fíjate bien en cuál es la excepción que da, que suele ser indicativa del problema (por ejemplo, un cortafuegos en esa dirección, un servidor que no te acepta como cliente, etc.)

    > intente convertir el "textbox12.Text" con Convert.Toin32(textbox12.Text), pero nada

    Sí, esa conversión es correcta, a condición de que el texto tecleado en ese momento en el textbox12 represente exactamente un número entero. Por ejemplo, si tiene algún espacio en blanco, o si tiene un punto, dará un error.

    lunes, 14 de septiembre de 2015 18:43
  • gracias por contestar, estoy recibiendo el siguiente mensaje..

    el certificado remoto no es valido segun el procedimiento de validacion
    eso ingresando el puerto 25, eh probado a no poner nada y ya me salta que no tiene el formato adecuado..

    lunes, 14 de septiembre de 2015 19:10
  • el certificado remoto no es valido segun el procedimiento de validacion

    Eso significa que has marcado el check de "usar SSL". Si haces eso, la conexión encriptada se intenta validar con el certificado que envía el servidor. En el certificado viene el nombre del servidor junto con la firma de la autoridad que emitió el certificado. El procedimiento de validación compara que el nombre de servidor que tú pusiste coincida con el que viene en el certificado. Pero si el nombre que pusiste es la dirección IP (y no el nombre DNS), no puede coincidir con el certificado, así que te da un error. Me temo que si quieres ir por dirección IP, tendrás que prescindir de SSL (o convencer al administrador del servidor para que instale un certificado que lleve la IP en lugar del nombre).
    • Marcado como respuesta nista69 lunes, 14 de septiembre de 2015 19:38
    lunes, 14 de septiembre de 2015 19:24
  • muchisimas gracias,ese fue el error, doy por cerrado esta duda y marco como respuesta correcta. y lo digo muchas gracias.

    Saludos.

    lunes, 14 de septiembre de 2015 19:39