Enviar correo electrónico

13/11/2008 - 18:41 por Alberto | Informe spam
No consigo enviar un correo electrónico utilizando c#.
El código que utilizo es el siguiente pero me da siempre un error. El
mensaje de error tampoco me da ninguna pista ya que
dice simplemente "Error al enviar el mensaje". Mi correo no es de gmail
(creo que son un poco especiales...van por un puerto distinto al 25 y
necesitan un certificado ssl).

Os agradezco que me digais qué está mal.

System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add("miCorreo@prueba.es");
msg.From = new MailAddress("micuenta@loquesea.com", "Tu Nombre",
System.Text.Encoding.UTF8);
msg.Subject = "Prueba de correo";
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = "Cuerpo del mensaje";
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false;

SmtpClient client = new SmtpClient();
client.Credentials = new
System.Net.NetworkCredential("miCorreo@prueba.es", "contraseña");

client.Host = "smtp.loquesea.es";
try
{
client.Send(msg);
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message);
}
 

Leer las respuestas

#1 elgoog
16/11/2008 - 14:22 | Informe spam
Hola alberto,

yo hice algo parecido a lo que tu haces, pero en vez de usar los
Credentials, opté por poner en el archivo .config lo siguiente
(concretamente en el app.config, porque era una aplicacion WinForms):

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="">
<network
host="x.x.x.x"
port="25"
/>
</smtp>
</mailSettings>
</system.net>

Evidentemente he puesto el x.x.x.x a posta, pero ahi va la direccion
ip del servidor de correo ;)

Igual si pruebas a poner en client.Host la ip, en vez del nombre
resuelto... puede que te funcione. Sino, prueba esto, que fijo
funciona. Si no te tira, te pongo aqui el resto del codigo, aunque es
igual al que pones tu.

un saludo


On 13 nov, 18:41, "Alberto" wrote:
No consigo enviar un correo electrónico utilizando c#.
El código que utilizo es el siguiente pero me da siempre un error. El
mensaje de error tampoco me da ninguna pista ya que
dice simplemente "Error al enviar el mensaje". Mi correo no es de gmail
(creo que son un poco especiales...van por un puerto distinto al 25 y
necesitan un certificado ssl).

Os agradezco que me digais qué está mal.

            System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
            msg.To.Add("");
            msg.From = new MailAddress("", "Tu Nombre",
System.Text.Encoding.UTF8);
            msg.Subject = "Prueba de correo";
            msg.SubjectEncoding = System.Text.Encoding.UTF8;
            msg.Body = "Cuerpo del mensaje";
            msg.BodyEncoding = System.Text.Encoding.UTF8;
            msg.IsBodyHtml = false;

            SmtpClient client = new SmtpClient();
            client.Credentials = new
System.Net.NetworkCredential("", "contraseña");

            client.Host = "smtp.loquesea.es";
            try
            {
                client.Send(msg);
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                MessageBox.Show(ex.Message);
            }

Preguntas similares