• Sábado 21 de Diciembre de 2024, 11:34

Autor Tema:  Enviar E-mail  (Leído 5121 veces)

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Enviar E-mail
« en: Jueves 14 de Septiembre de 2006, 23:18 »
0
Hola,

Estoy intentando enviar un e-mail segun los pasos que salen en MSDN2 y me sale el siguiente error.

Código: Text
  1. El servidor rechazó la dirección del remitente. Respuesta del servidor: 530 5.7.0 Must issue a STARTTLS command first y24sm20054240nfb
  2.  

¿Alguien sabe como arreglar esto?

Tengo el siguiente codigo en C#

Código: Text
  1.  
  2. using System.Web.Mail;
  3. ...
  4. ...
  5. ...
  6.  protected void darAlta_Click(object sender, EventArgs e)
  7.     {
  8.       if (...)
  9.         {...}
  10.         else
  11.         {
  12.            MailMessage Correo = new MailMessage();  
  13.            
  14.            Correo.From = "xxx.gmail.com";
  15.            Correo.To = "xxx.hotmail.com";
  16.            Correo.Subject = "xxxxxxxxxxx";
  17.            Correo.Body = "xxx" + variable.Text;
  18.  
  19.            Correo.BodyFormat = MailFormat.Text;
  20.            Correo.Priority = MailPriority.Normal;
  21.  
  22.             SmtpMail.SmtpServer = "smtp.gmail.com";            
  23.             SmtpMail.Send(Correo);
  24.          }
  25.     }
  26.  
  27.  

Si alguien me pudiese decir en que estoy fallando estaría muy agradecido.

Gracias de antemano.

hellscream

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Enviar E-mail
« Respuesta #1 en: Viernes 15 de Septiembre de 2006, 03:54 »
0
El error lo indica todo, gmail utiliza SSL como mecanismo de autenticación, simplemente  asigna la propiedad EnableSsl de tu objeto de tipo SmtpClient

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Enviar E-mail
« Respuesta #2 en: Viernes 15 de Septiembre de 2006, 11:42 »
0
He modificado el codigo y me sale el siguiente error...

Código: Text
  1.  
  2. Client does not have permission to submit mail to this server. The server response was: TLS not available due to temporary reason
  3.  
  4.  

El código lo he modificado y queda así:


Código: Text
  1.  
  2. using System.Net.Mail;
  3. ...
  4. ...
  5. ...
  6. protected void darAlta_Click(object sender, EventArgs e)
  7.    {
  8.      if (...)
  9.        {...}
  10.        else
  11.        {
  12.           MailMessage Correo = new MailMessage();  
  13.          
  14.           Correo.From = new MailAddress("xxx.gmail.com");
  15.           Correo.To.Add("xxx.hotmail.com");
  16.           Correo.Subject = "xxxxxxxxxxx";
  17.           Correo.IsBodyHtml = true;
  18.           Correo.Body = "xxx" + variable.Text;
  19.           Correo.Priority = MailPriority.Normal;
  20.  
  21.           SmtpClient smtp = new SmtpClient("smtp.gmail.com");
  22.           smtp.EnableSsl = true;
  23.           smtp.UseDefeaultCredentials = false;
  24.      smtp.Credentials = new System.Net.NetworkCredential("xx@gmail.com","xx");
  25.  
  26.           smtp.Send(Correo);                  
  27.         }
  28.    }
  29.  
  30.  

¿Alguna idea?

Gracias de antemano

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Enviar E-mail
« Respuesta #3 en: Viernes 15 de Septiembre de 2006, 18:23 »
0
Bueno, problema solucionado, por si alguien tiene el mismo problema ahora pongo el codigo.

El problema básicamente residia en el norton internet security que bloqueaba el puerto y un par de librerias que creo me faltaban.

Aquí el código:

Código: Text
  1.  
  2. using System.Net;
  3. using System.Net.Mail;
  4. using System.Net.Mime;
  5. ...
  6. ...
  7. ...
  8. protected void darAlta_Click(object sender, EventArgs e)
  9.   {
  10.     if (...)
  11.       {...}
  12.       else
  13.       {
  14.          MailMessage Correo = new MailMessage();  
  15.          
  16.          Correo.From = new MailAddress("xxx.gmail.com");
  17.          Correo.To.Add("xxx.hotmail.com");
  18.          Correo.Subject = "xxxxxxxxxxx";
  19.          Correo.IsBodyHtml = true;
  20.          Correo.Body = "xxx" + variable.Text;
  21.          Correo.Priority = MailPriority.Normal;
  22.  
  23.          SmtpClient smtp = new SmtpClient();
  24.         [B] smtp.Port = 587;[/B]
  25.          smtp.Host = "smtp.gmail.com"&#59;      
  26.  
  27. smtp.EnableSsl = true;
  28.          smtp.UseDefeaultCredentials = false;
  29.     smtp.Credentials = new System.Net.NetworkCredential("xx@gmail.com","xx");
  30.  
  31.          smtp.Send(Correo);                  
  32.        }
  33.   }
  34.  
  35.  

Saludos y hasta otra.

romaedu200

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Enviar E-mail
« Respuesta #4 en: Martes 14 de Septiembre de 2010, 14:35 »
0
El problema que tienes es que estas usando Credentials

Tienes que habilitar el uso de SSL y desahabilitar Credentials de la siguiente manera :

smtpClient.UseDefaultCredentials = false;
smtpClient.Host = server;
smtpClient.Port = port;
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Credentials = new NetworkCredential(user, password);

En mi caso todo esto es configurado automaticamente en el Web Config.

Pero con esto deberias solucionarlo.

Atte, Eduardo Mass