IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

SMTP.ORANGE.FR en SSL - Fonctionne avec outlook, erreur en c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Par défaut SMTP.ORANGE.FR en SSL - Fonctionne avec outlook, erreur en c#
    Bonjour,

    J'ai des utilisateurs de mon application qui ont des problèmes d'envoi de mail avec leurs email orange, ce problème n'impacte pas ceux qui ont des comptes 1&1 ou ovh par exemple.

    Afin d'être sûr que ça ne vient pas d'une erreur de mot de passe ou de serveur smtp, j'ai refais la config sur outlook sur mon poste.
    Important :
    - Mon FAI n'est pas orange
    - Un client m'a donné ses identifiants/pass de messagerie que j'ai reconfiguré sur mon poste =>L'envoi fonctionne depuis outllook. donc ce n'est pas un problème de nom de serveur, port, user ou mot de passe.

    Depuis mon application. J'ai une erreur SMTP "General Failure".

    Sur outlook: Ajout d'un compte pop/smtp
    Adresse de messagerie: xxxx@orange.fr
    Serveur de courrier entrant : pop.orange.fr
    Serveur de courrier sortant : smtp.orange.fr
    Information de connexion : Nom d'utilisateur: xxxx@orange.fr et mot de passe sans erreur de frappe.
    Paramètres supplémentaires : Serveur sortant =>
    Mon serveur requiert une authentification : coché
    Se connecter à l'aide de : xxxxx@orange.fr + et mot de passe
    Options avancée : serveur sortant :465, utiliser le type de connexion chiffrée SSL

    Avec cette config, je peux envoyer des mails sans problème.

    Maintenant l'équivalent dans l'application winforms en net 4.5:
    là, grosse latence (30s env) puis "Erreur smtp : GeneralFailure"

    Est-ce que j'ai oublié quelquechose dans le code ? sachant que j'ai vérifié et revérifié l'adresse orange, le mot de passe. C'est sûr ils sont bons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
      SmtpClient smtpClient = new SmtpClient();
                NetworkCredential basicCredential = null;
                MailMessage message = new MailMessage();
                MailAddress fromAddress = new MailAddress("xxxxxx@orange.fr");
                smtpClient.Host = "smtp.orange.Fr";
                smtpClient.Port = 465;
                smtpClient.UseDefaultCredentials = false;
     
                smtpClient.EnableSsl =  true;
                basicCredential = new NetworkCredential("xxxxxx@orange.fr", "le bon mot de passe");
                smtpClient.Credentials = basicCredential;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;         
     
                message.From = fromAddress;
                message.Subject = "Message de test";
                message.IsBodyHtml = false;
                message.BodyEncoding = Encoding.GetEncoding("iso-8859-2");
                message.Body = "Message de test. Envoi smtp/SSL port 465";
                message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
                message.To.Add("monadresse@mondomaine.fr");
                try
                {
                    smtpClient.Send(message);
                    MessageBox.Show("Message déposé avec succès.");
                }
                catch (SmtpException smtpex)
                {
                    MessageBox.Show("Erreur SMTP : " + smtpex.StatusCode.ToString());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
    Merci

  2. #2
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Attention, il existe deux protocoles permettant d'envoyer des mails via SMTP en chiffrant sa connexion :
    • SMTPS : utilisation de SSL pour chiffrer toute la connexion ;
    • SMTP avec STARTTLS : la connexion est établie en non chiffrée, puis la commande STARTTLS est envoyée pour utiliser un chiffrement.


    Le framework .Net ne supporte que la seconde. Pour la première, il est nécessaire de passer par une bibliothèque tiers.

    La configuration indiquée au niveau d'Outlook semble être du SMTPS, non supporté. D'où le soucis...
    Pour le vérifier, au niveau d'Outlook, changez le chiffrement pour utilier STARTTLS au lieu de SSL. Si cela ne fonctionne pas, c'est que le problème est là.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Par défaut
    Merci pour ta réponse.

    Pour moi, il y a 3 modes possibles
    STARTTLS
    TLS/SSL
    SMTPS (SSL) non supporté sans librairie tiers

    Sur les configurations en start/tls uniquement, le mode start/tls s'obtient en précisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    basicCredential = new NetworkCredential("xxxxxx@orange.fr", "motdepasse");
    smtpClient.Credentials = basicCredential
    Pour passer en TLS/SSL on ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    smtpclient.enableSSL  = true

    Pour orange, ca ne semble pas être du SMPTS de configuré dans outlook mais bien du TLS/SSL
    La case à cocher "Exiger l'authentification par mot de passe sécurisé (SPA) " est décochée. d'ailleurs la cochée ou non ne change rien. outlook peut se connecter.

    Pour être sûr, j'ai ajouter le serveur SMTP dans thunderbird.
    Port 465
    Mode : SSL/TLS
    Mode de passe normal (non chiffré)

    Ca fonctionne sans pb (toujours depuis un FAI non orange), mais pas depuis l'application c#.

  4. #4
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par RamDevTeam Voir le message
    Sur les configurations en start/tls uniquement, le mode start/tls s'obtient en précisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    basicCredential = new NetworkCredential("xxxxxx@orange.fr", "motdepasse");
    smtpClient.Credentials = basicCredential
    Pour passer en TLS/SSL on ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    smtpclient.enableSSL  = true
    Non. smtpclient.enableSSL = true permet bien d'activer le STARTTLS. Je t'invite à lire la documentation sur la MSDN à ce sujet.

    Le mode TLS/SSL n'est pas supporté par la classe SmtpClient. Inutile donc de vouloir l'activer.
    Citation Envoyé par MSDN
    An alternate connection method is where an SSL session is established up front before any protocol commands are sent. This connection method is sometimes called SMTP/SSL, SMTP over SSL, or SMTPS and by default uses port 465. This alternate connection method using SSL is not currently supported.
    Que ce soit via STARTTLS ou SMTPS, le protocole SSL est utilisé. Cela peut donc être trompeur. Mais le protocole SSL/TLS au niveau de Outlook désigne bel et bien SMTPS.

Discussions similaires

  1. Problème de fonctionnement avec Outlook
    Par JAHWAR dans le forum Outlook
    Réponses: 0
    Dernier message: 26/09/2012, 21h02
  2. [AC-2003] Envoie de mail CDO Outlook (fonctionne avec Excel)
    Par DonKnacki dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/06/2011, 14h07
  3. Réponses: 4
    Dernier message: 12/11/2008, 00h18
  4. Wanadoo - > Orange - Pb messagerie avec Outlook
    Par Jadecat dans le forum Dépannage et Assistance
    Réponses: 9
    Dernier message: 08/08/2006, 22h51
  5. Wanadoo - > Orange - Pb messagerie avec Outlook
    Par Luc Orient dans le forum Dépannage et Assistance
    Réponses: 8
    Dernier message: 03/06/2006, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo