2017-08-29 3 views
0

J'utilise le code suivant et une erreur se produit lors de la tentative de connexion au serveur SMTP. Je ne donne aucune information d'authentification pour y accéder.Obtention d'une erreur lors de la tentative de connexion au serveur SMTP "199.201.221.19"

var client = new SmtpClient() 
await client.ConnectAsync("199.201.221.19", 587, false); 
client.Send(mail); 

hôte: 199.201.221.19 Port: 587 Erreur: System.Security.Authentication.AuthenticationException: Le certificat à distance est invalide selon la procédure de validation. Quel est le problème actuel et quelle est la solution possible?

Répondre

0

L'erreur fait référence à une erreur de validation de certificat SSL/TLS. Cela signifie que le certificat SSL de votre serveur ne vérifie pas à l'aide des certificats d'autorité de certification racine standard de .NET.

Même si vous avez spécifié useSsl comme false dans votre appel de méthode ConnectAsync(), MailKit sera toujours basculer en mode TLS si le serveur prend en charge STARTTLS. Le paramètre useSsl sert uniquement à indiquer à MailKit si le port requiert SSL dès le début (comme dans les ports ssl-wrapped tels que 993 pour IMAP/S, 995 pour POP/S et 465 pour SMTP/S).

Vous avez 2 options pour régler ce problème:

  1. Suivez les instructions de cette erreur dans la FAQ: https://github.com/jstedfast/MailKit/blob/master/FAQ.md#InvalidSslCertificate
  2. utiliser une méthode ConnectAsync différente qui vous permet de spécifier de ne pas essayer STARTTLS: client. ConnectAsync (hôte, port, SecureSocketOptions.None);