J'ai mon code ici, il fonctionne très bien chez moi, où mon utilisateur est administrateur, et je suis connecté à Internet via un réseau câblé. Mais, le problème est que lorsque j'essaye ce code depuis mon lieu de travail, cela ne fonctionne pas. Indique l'erreur: « Impossible de se connecter au serveur distant » A partir d'une autre machine dans le même réseau: « Une opération a été tentée sur un réseau injoignable 209.xxx.xx.52: 25 »Impossible d'envoyer un courrier électronique SMTP à partir du réseau en utilisant C#, site Web asp.net
J'ai vérifié avec notre administrateur réseau, et il m'a assuré que tous les ports de messagerie sont ouverts [25,110, et d'autres ports pour Gmail].
Ensuite, je me suis connecté avec le privilège administratif, il y avait un peu d'amélioration, il n'y avait pas d'erreur, mais l'email n'a jamais été reçu.
S'il vous plaît noter que, le code a été testé à partir de l'environnement de développement, Visual Studio 2005 et 2008.
Toute suggestion sera très appréciée. Merci à l'avance
try
{
MailMessage mail_message = new MailMessage("[email protected]", txtToEmail.Text, txtSubject.Text, txtBody.Text);
SmtpClient mail_client = new SmtpClient("SMTP.y7mail.com");
NetworkCredential Authentic = new NetworkCredential("[email protected]", "xxxxx");
mail_client.UseDefaultCredentials = true;
mail_client.Credentials = Authentic;
mail_message.IsBodyHtml = true;
mail_message.Priority = MailPriority.High;
try
{
mail_client.Send(mail_message);
lblStatus.Text = "Mail Sent Successfully";
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
lblStatus.Text = "Mail Sending Failed\r\n" + ex.Message;
}
}
catch (Exception ex)
{
lblStatus.Text = "Mail Sending Failed\r\n" + ex.Message;
}
Merci. Cela a fonctionné pour moi aussi. Non seulement pour Gmail, mais pour y7mail aussi! Y at-il une spécialité à propos de ce port 587? – Kaysar
Partie principale du code qui l'a fait fonctionner: MailMessage mail_message = new MailMessage ("[email protected]", txtToEmail.Text, txtSubject.Text, txtMailBody.Text); SmtpClient mail_client = nouveau SmtpClient ("SMTP.y7mail.com", 587); NetworkCredential Authentic = new NetworkCredential ("[email protected]", "xxx"); mail_client.UseDefaultCredentials = true; mail_client.Credentials = Authentique; – Kaysar
Heureux que ça a marché. Le port 587b est le port standard pour la soumission d'e-mails avec ESMTP (RFC2476). –