Obtenir SmtpClient de travailler avec un certificat SSL auto-signé
Je suis d'essayer d'utiliser le Système.Net.Mail.Classe SmtpClient pour relayer un e-mail via mon serveur de messagerie. Toutes les connexions SMTP vers le serveur de messagerie doivent être SSL et utilise un certificat auto-signé. C'est très bien pour Outlook, où vous pouvez simplement cliquez sur ok dans le dialogue d'avertissement, mais quelqu'un sait-il un moyen d'obtenir SmtpClient à accepter un certificat auto-signé?
Je suis la planification sur l'utilisation de cette application sur la Plateforme Windows Azure donc je ne vais pas être en mesure d'installer le certificat auto-signé comme une racine de confiance.
OriginalL'auteur sipwiz | 2010-01-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre un coup d'oeil à la ServerCertificateValidationCallback propriété:
Il représente une fonction de callback qui est appelée par le moteur d'exécution quand il essaie de valider un certificat SSL. En retournant
true
vous dire que vous n'avez pas de soins si le certificat est valide ou pas -> vous avez toujours l'accepter. Bien sûr, d'avoir les certificats auto-signés dans l'environnement de production n'est pas une bonne idée.Vous avez besoin de mettre ce avant toute tentative d'instancier la
SmtpClient
classe, idéalement dans certains initialisation globale de votre application.OriginalL'auteur Darin Dimitrov
Mon problème a fini par être que l' .Net classe SmtpClient apparemment ne prend pas en charge l'utilisation du port 465 pour SMTP connexions SSL. En utilisant le port 25 avec un certificat SSL auto-signé fonctionné correctement.
MSDN System.Net forum question Peut SmtpClient être configuré pour fonctionner avec un certificat auto-signé?.
OriginalL'auteur sipwiz