Échec d’envoi de courrier via Google SMTP

Je reçois toujours “Échec d’envoi de courrier.” exception. L’exception interne est “Impossible de se connecter au serveur distant” et “Une tentative de connexion a échoué car la partie connectée n’a pas répondu correctement après un certain temps ou la connexion établie a échoué car l’hôte connecté n’a pas répondu. “. Je suis à peu près sûr que la cause de ceci n’est pas le réglage du pare-feu. Est-ce que quelqu’un sait ce que je peux faire à ce sujet? Merci.

var mail = new MailMessage("[email protected]", "[email protected]") { Subject = "Testing subject", Body = "Testing body" }; try { var client = new SmtpClient("smtp.google.com", 465) { EnableSsl = true, Credentials = new NetworkCredential("[email protected]", "password") }; client.Send(mail); } catch (Exception ex) { Console.WriteLine(ex.Message); } 

Voici les parameters de Google nécessaires:

  • Serveur de courrier entrant (POP3) – requirejs SSL: pop.gmail.com

    Utiliser SSL: oui

    Port: 995

    Serveur de courrier sortant (SMTP) – requirejs TLS3 ou SSL: smtp.gmail.com (utiliser l’authentification)

    Utiliser l’authentification: oui

    Port pour TLS / STARTTLS: 587

    Port pour SSL: 465

    Nom du compte: votre adresse e-mail complète (y compris @ gmail.com ou @ votre_domaine.com)

    Adresse électronique: votre adresse électronique ([email protected] ou nomutilisateur@votre_domaine.com)

    Mot de passe: votre mot de passe Gmail

Je ne pense pas que 465 est le bon port. Avez-vous essayé 587? Et le serveur SMTP est smtp.gmail.com .

Je travaille également avec le serveur de messagerie Godaddy et le code ci-dessous a bien fonctionné pour moi:

Espace de noms :

 System.Net.Mail 

============

 ssortingng senderID = "[email protected]"; ssortingng senderPassword = "123456"; ssortingng body = " Test email "; MailMessage mail = new MailMessage(); mail.To.Add(username); //mail.CC.Add(_cc); mail.From = new MailAddress(senderID); mail.Priority = MailPriority.High; mail.Subject = "Test Email"; mail.Body = body; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "relay-hosting.secureserver.net"; //Or Your SMTP Server Address smtp.Credentials = new System.Net.NetworkCredential (senderID, senderPassword); // ***use valid credentials*** smtp.Port = 25; smtp.EnableSsl = false; smtp.Send(mail); 

Si le nom d’hôte est correct et que Google prend en charge SMTP sur SSL, il est bloqué par quelque chose et je commence à vérifier les pare-feu.

Je ne pense pas que smtp.google.com soit le bon serveur pour Gmail. Avez-vous essayé smtp.gmail.com sur le port 25?

Le port 465 est destiné à SMTP via SSL, qui n’est pas pris en charge par le SmtpClient .NET. Utilisez plutôt le port 25. Le client SMTP utilisera la fonctionnalité STARTTLS pour chiffrer la communication.

le port correct est 587 pour la classe smtpclient