Je tente d'utiliser la classe system.net.mail.smtpClient pour relier un email via le serveur de messagerie de mon entreprise. Toutes les connexions SMTP au serveur de messagerie doivent être SSL et utilise un certificat auto-signé. C'est bon pour Outlook où vous pouvez simplement cliquer sur OK sur le dialogue d'avertissement, mais quelqu'un connaît-il un moyen d'obtenir SmtpClient d'accepter un certificat auto-signé? P>
Je prévois de l'utilisation de cette application sur la plate-forme Windows Azure, donc je ne pourrai pas installer le certificat auto-signé en tant que racine de confiance. P>
3 Réponses :
Vous pouvez jeter un coup d'œil sur le ServerCertificateValidationCallback A> Propriété: ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) => true;
J'ai examiné un peu l'angle de service un peu, mais j'ai vu ce commentaire sur la page DocPoint Servicepoint / Membres "fournit une gestion de la connexion pour les connexions HTTP", donc j'ai l'impression qu'elle ne sera pas utilisée pour SMTP. De plus, lorsque j'essaie et mettez un message de journal dans le rappel, il n'est jamais appelé.
Vous devez mettre ceci avant B> Faire des tentatives pour instancier la classe code> SMTPClient CODE>, idéalement dans une section d'initialisation globale de votre application.
Mon problème a fini par être que la classe SMTPClient .NET SMTPCLIENT ne prend apparemment pas en charge l'utilisation du port 465 pour les connexions SSL SMTP. Utilisation du port 25 avec un certificat SSL auto-signé fonctionnant correctement. P>
MSDN System.net Forum Question Peut être configuré SMTPCLIENT pour fonctionner avec un certificat auto-signé? . P>
Si vous voulez être plus sécurisé, vous voudrez peut-être examiner ce qui suit: dans ce code, nous approuvons automatiquement des certificats uniquement pour le client SMTP spécifique en question; Nous avons un chemin de code de stub que vous devriez passer à rétablir explicitement la validation de certificat par défaut si vous trouvez que quelque chose d'autre dans votre application est en utilisant. p> Une autre approche différente et utile de l'approbation des certificats que dans des contextes où vous souhaitez réellement être dans . Réponse . P> p>