6
votes

Échec envoi de courrier via Google SMTP

Je reçois toujours "l'échec envoi de courrier". exception. L'exception interne est "Impossible de se connecter au serveur distant" et l'exception interne de celle-ci est "Une tentative de connexion a échoué car la partie connectée n'a pas répondu correctement après une période de temps ou une connexion établie a échoué car l'hôte connecté n'a pas réussi à répondre ". Je suis à peu près sûr que la cause de ce n'est pas le cadre de pare-feu. Est-ce que quelqu'un sait ce que je peux faire à ce sujet? Merci.

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


0 commentaires

6 Réponses :


0
votes

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


0 commentaires

0
votes

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

Port 465 est pour SMTP via SSL, qui n'est pas pris en charge par le .NET SMTPCLIENT. Au lieu de cela, utilisez le port 25. Le client SMTP utilisera la fonction StartTLS pour chiffrer la communication.


0 commentaires

3
votes

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


1 commentaires

Oui, cela aurait dû être le port 587. Cela fonctionne bien maintenant. Merci.



7
votes

Voici les paramètres Google nécessaires:

  • serveur de courrier entrant (POP3) - nécessite SSL: pop.gmail.com

    Utiliser SSL: Oui

    port: 995

    serveur de courrier sortant (SMTP) - nécessite TLS3 ou SSL: smtp.gmail.com (Utilisez 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 @ Your_Domain.com)

    Adresse e-mail: votre adresse email (nom d'utilisateur@gmail.com ou Nom d'utilisateur@your_domain.com)

    Mot de passe: Votre mot de passe Gmail


1 commentaires

Oui, cela aurait dû être le port 587. Cela fonctionne bien maintenant. Merci.



0
votes

Le port correct est 587 pour la classe SMTPClient


0 commentaires

1
votes

Je travaille aussi avec Godaddy Email Server STRUT> et ci-dessous Code a fonctionné bien pour moi:

Espace de noms strong>: p>

string senderID = "myemailID@mydomain.com";
string senderPassword = "123456";
string 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);


0 commentaires