2010-12-05 1 views
0

Je veux tester la connexion est établie sans envoyer de mail.Mon code est ci-dessous.J'ai mis mauvais email et mot de passe, mais je ne reçois aucune exception.Je ne veux pas test avec email envoyé.comment tester la connexion est établie dans smtp dans C# windows

try { 
    SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587); 
    NetworkCredential credentials = new NetworkCredential(textboxprimarymail.Text, textBoxpassprimary.Text); 
    smtpClient.Credentials = credentials; 
    connectionestablish.Text = "Connetion Established"; 
    connectionestablish.ForeColor = System.Drawing.Color.ForestGreen; 
} 
catch { 
    connectionestablish.Text = "Connetion Error"; 
    connectionestablish.ForeColor = System.Drawing.Color.Red; 
} 
+0

double possible de [Comment valider les informations d'identification de smtp avant l'envoi de courrier en C#?] (Http://stackoverflow.com/questions/2426098/how-to-validate-smtp-credentials-before -envoi-mail-en-c) –

Répondre

0

Cette question est un doublon. Fondamentalement, il n'y a aucun moyen. Comme indiqué dans une autre réponse ici:

Il n'y a aucun moyen. SmtpClient ne peut pas valider le mot de passe nom d'utilisateur en contactant le service auquel il se connecte.

Ce que vous pouvez faire est de le faire en dehors SmtpClient, en ouvrant une connexion TCP au serveur ... mais authentification peut être compliqué selon la façon dont est configuré le serveur. Puis-je demander pourquoi vous devez savoir que avant d'envoyer? comportement normal IMHO serait d'envelopper l'envoi en la gestion des erreurs appropriées pour attraper exceptions ici.

How to validate smtp credentials before sending mail?

Questions connexes