Envoi de mail sur un serveur SMTP

xounay Messages postés 320 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 27 avril 2012 - 4 juil. 2008 à 09:51
xounay Messages postés 320 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 27 avril 2012 - 4 juil. 2008 à 10:29
Bonjour à tous !

Je cherche à envoyer un email via un serveur smtp d'un autre réseau. Pour cela je possede un certificat client de type PKI.
Sur un serveur type yahoo, orange ou autre sans certificat ca marche.

Maintenant je souhaite utiliser mon certificat pour acceder au serveur smtp concerné.

J'utilise :

Imports

System.Net.Mail

Il y a une propertie de la classe SmtpClient
ClientCertificates  => System.Security.Cryptography.X509Certificates.X509CertificateCollection

quelqu'un c'est si je suis dans la bonne direction ?

Le soucis c'est qu'il n'y a aucune aide detaillé. J'ai regardé sur MSDN,ggle, ect.. apparement les gens font pas ce genre de soft tous les jours.

Merci à tous !

2 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 juil. 2008 à 10:00
salut,

voici la jolie RFC traduite ;)
http://abcdrfc.free.fr/rfc-vf/rfc821.html

je n'y ai cependant pas trouvé les infos concernant les certificats, qui (pour moi) sont liés à la machine et non au protocole lui-même
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
xounay Messages postés 320 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 27 avril 2012
4 juil. 2008 à 10:29
Merci quand meme pour la reponse.

Mais bon je pense avoir trouvé la solution.

Dim

SmtpMail
As SmtpClient =
New Net.Mail.SmtpClient(smtpsrv)

If (login <>
""
And pass <>
"") Then SmtpMail.Credentials New System.Net.NetworkCredential(login, pass)SmtpMail.EnableSsl

TrueSmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network

 

Dim store
As X509Store =
New X509Store(StoreName.My, StoreLocation.CurrentUser)store.Open(OpenFlags.ReadWrite)

Dim collCertif
As X509Certificate2Collection =
New X509Certificate2Collection(store.Certificates)SmtpMail.ClientCertificates.Add(collCertif(0))

SmtpMail.Send(DotNetMail)

Ou mon certificat est le celui a l'index 0. Enfin je suis pas a 100% sure. à tester
0
Rejoignez-nous