Odio simplemente publicar un seguimiento de la pila aquí, pero me he quedado sin ideas ... Mi aplicación envía correos electrónicos para varias tareas en el sitio web, y el 90% de las veces no hay problemas. Sin embargo, de vez en cuando ASP.NET arroja una extraña excepción, que parece estar relacionada con la conectividad del servidor de correo (uso los servidores de Google Business para el correo electrónico). El error es demasiado genérico para que lo depure, de ahí el seguimiento de pila a continuación. Mi aplicación captura la excepción y vuelve a escribir un mensaje genérico 'intente nuevamente en 5 minutos'.Problemas temporales al enviar correos electrónicos con ASP.NET
Estoy confundido por este error porque:
- Google de correo electrónico es generalmente muy fiable (que se envía desde mi dominio, no gmail.com).
- volúmenes son muy bajos, por lo que esto no debería ser un tipo de carga/envío de correo basura del problema.
- El error es muy genérico.
- Tratando de nuevo en 5 minutos casi siempre permite que el correo electrónico que se enviará sin ningún problema, con ninguno de los parámetros (destinatario, asunto, cuerpo) después de haber cambiado.
¿Alguna idea? Los únicos problemas pendientes que puedo pensar es que:
- El envío de correo electrónico es síncrono. Esto es lo que realmente quiero que ocurra, ya que quiero responder al usuario con un mensaje de estado de éxito/error.
- Estoy utilizando Amazon EC2 como servidor, si eso tiene alguna relación con el asunto.
El código:
public static void SendMail(String from, String to, String subject, String body, bool IsHtml)
{
MailMessage m = new MailMessage(from, to, subject, body);
m.IsBodyHtml = IsHtml;
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(m);
}
La excepción:
System.Net.Mail.SmtpException: Error in processing. The server response was: 4.3.0 Mail server temporarily rejected message. m6sm2190005vcx.24
at System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse)
at System.Net.Mail.DataStopCommand.Send(SmtpConnection conn)
at System.Net.Mail.SmtpConnection.OnClose(Object sender, EventArgs args)
at System.Net.ClosableStream.Close()
at System.Net.Mail.MailWriter.Close()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
La realización de una búsqueda en Google sobre este error específico indica que es probable un problema con los servidores de Google que son conscientes.Resolución pendiente. –