2010-03-31 27 views
6

Estoy tratando de enviar un correo electrónico básico a través de Google Apps/Gmail usando C# (System.Net.Mail/Framework 4) y estoy teniendo problemas para hacerlo.Enviar correo electrónico a través de Google Apps en C#

Recibo la siguiente excepción: "La operación ha expirado".

Mi código es el siguiente:

  //Create the mail message 
      MailMessage mail = new MailMessage(); 

      //Set the addresses 
      mail.From = new MailAddress("[email protected]", "My Name"); 
      mail.To.Add(Email); 

      //Set the subject and bodycontent 
      mail.Subject = "Email Testing"; 
      mail.Body = "This is the body of the email"; 

      //Send the message using the SmtpClient 
      SmtpClient smtp = new SmtpClient(); 
      smtp.EnableSsl = true; 
      smtp.Send(mail); 

Mi web.config tiene los siguientes valores:

 <smtp from="[email protected]" deliveryMethod="Network"> 
      <network host="smtp.gmail.com" 
       userName="[email protected]" 
       password="password" 
       port="587" /> 
     </smtp> 

Durante mi de solución de problemas que he intentado:

  • Usando mi dirección personal de Gmail así como otro de un dominio alojado a través de Google Apps.
  • Uso de los puertos 25, 465 y 587
  • duro de la codificación de los ajustes de configuración en el código C# en lugar de utilizar el web.config
  • Envío y telnet desde múltiples ubicaciones de red para garantizar el firewall/ISP no estaba bloqueando
  • asegurado que POP fue activada en la configuración de Gmail (según Google esto debe activar la capacidad de enviar a través de SMTP)
  • Cambio del envío desde y dirección replyTo para asegurarse de que coincide con la cuenta (al parecer una necesidad de Gmail).

Puedo enviar y recibir correos electrónicos finos a través de la interfaz de GMail para mis dos cuentas de correo electrónico. También probé la configuración y las soluciones que se ofrecen en la pregunta n.º 757987 en vano.

+0

¿Alguien ha conseguido que esto funcione recientemente con GMail? Estoy pensando que Google cambió algunas configuraciones de seguridad recientemente y esto está causando mis síntomas. – NateReid

Respuesta

1

Su código se ve bien. Dices que probaste Telneting. ¿De verdad pudiste enviar un correo electrónico a través de telnet?

Usted podría intentar quitar

from="[email protected]" deliveryMethod="Network" 

de su etiqueta de SMTP, ya que no son necesarios para lo que está haciendo.

EDIT:

Telnet normalmente le permitirá conectarse al servidor SMTP y enviar 16 bytes de datos antes de que comenzará a salir (?). Si no recibe respuestas como these, entonces este es probablemente el caso.

Pruebe abrir el puerto 587 en su firewall y vea si realmente puede interactuar con el servidor smtp a través de telnet (EHLO, ECHO, etc.).

+0

Gracias por las sugerencias. He intentado eliminar el "de" y el "método de entrega" de la etiqueta smtp y todavía está expirando. Cuando mencioné que traté de telefonear en mi pregunta inicial ... Intenté conectar y se conectó, pero cuando intento enviar un correo electrónico usando las instrucciones que encontré en "http://www.wikihow.com/Send-Email -Using-Telnet "me echa después del primer comando. – NateReid

+1

Parece que su telnet no está realmente conectado, en cuyo caso probablemente tenga un problema de red.Intente abrir el puerto 587 en su firewall – Joel

+0

Eso es lo que pensé, pero de acuerdo con esta http://mail.google.com/support/bin/answer.py?hl=es&answer=78775 página de google en el correo electrónico de solución de problemas (específicamente el último punto), estoy conectado. – NateReid

Cuestiones relacionadas