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

Langage Delphi Discussion :

INDY POP décoder le sujet


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 188
    Points : 113
    Points
    113
    Par défaut INDY POP décoder le sujet
    Bonjour, j'ai un soucis avec mon client pop fait en delphi7 avec indy9.

    J'ai un sujet de type :
    =?utf-8?B?U1lOQVBTRSA6IHZvdHJlIHLDqWbDqXJlbmNlbWVudCBzdXIg?= =?utf-8?B?bGEgcGxhdGUtZm9ybWUgZGUgZ2VzdGlvbiBkZXMgYXBwZWxzIGQnb2Zm?= =?utf-8?B?ZXM=?=

    la propriété ContentTransferEncoding vaut base64
    La propriété charset vaut utf-8

    Transformer de l'utf-8 en ansi, ok
    mais pour voir le vrai contenu du message, je seche un peu, je n'arrive pas a transformer ce texte !!!

    Pour infos, mon webmail me donne la valeur "SYNAPSE : votre référencement sur la plate-forme de gestion des appels d'offes".

    Pease help me !!!!!

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 188
    Points : 113
    Points
    113
    Par défaut
    J'ai un début de solution, mais je trouve :
    "SYNAPSE : votre référencement sur la plate-forme de gestion des appels d'off"
    j'ai donc des caractères bizarre et il me manque la fin
    la fonction utilisé (trouvé sur le web et non changée :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    function DecodeBase64(const CinLine: string): string;
    const
      RESULT_ERROR = -2;
    var
      inLineIndex: Integer;
      c: Char;
      x: SmallInt;
      c4: Word;
      StoredC4: array[0..3] of SmallInt;
      InLineLength: Integer;
    begin
      Result := '';
      inLineIndex := 1;
      c4 := 0;
      InLineLength := Length(CinLine);
     
      while inLineIndex <=InLineLength do
      begin
        while (inLineIndex <=InLineLength) and (c4 < 4) do
        begin
          c := CinLine[inLineIndex];
          case c of
            '+'     : x := 62;
            '/'     : x := 63;
            '0'..'9': x := Ord(c) - (Ord('0')-52);
            '='     : x := -1;
            'A'..'Z': x := Ord(c) - Ord('A');
            'a'..'z': x := Ord(c) - (Ord('a')-26);
          else
            x := RESULT_ERROR;
          end;
          if x <> RESULT_ERROR then
          begin
            StoredC4[c4] := x;
            Inc(c4);
          end;
          Inc(inLineIndex);
        end;
     
        if c4 = 4 then
        begin
          c4 := 0;
          Result := Result + Char((StoredC4[0] shl 2) or (StoredC4[1] shr 4));
          if StoredC4[2] = -1 then Exit;
          Result := Result + Char((StoredC4[1] shl 4) or (StoredC4[2] shr 2));
          if StoredC4[3] = -1 then Exit;
          Result := Result + Char((StoredC4[2] shl 6) or (StoredC4[3]));
        end;
      end;
    end;
    arg, je ne suis plus tres loin, mais je galère car ne comprend pas tout là !

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    le décodage se fait comme suis:

    1) répérer "=?...?=", il y en a trois dans ton titre

    2) repérer "a?b?c" dans les "...",
    - a est l'encodage: ici utf-8
    - b est le format: B pour base64 (Q pour QuotedPrintable)
    - c est le texte

    tu dois donc récupérer UTF8Decode(DecodeBase64(c))

    =?utf-8?B?U1lOQVBTRSA6IHZvdHJlIHLDqWbDqXJlbmNlbWVudCBzdXIg?= =?utf-8?B?bGEgcGxhdGUtZm9ybWUgZGUgZ2VzdGlvbiBkZXMgYXBwZWxzIGQnb2Zm?= =?utf-8?B?ZXM=
    ?=
    
    décodage Base 64 :
    
    "SYNAPSE : votre référencement sur" "la plate-forme de gestion des appels d'off""es"
    
    décodage UTF8 :
    
    "SYNAPSE : votre référencement sur" "la plate-forme de gestion des appels d'off""es"
    
    
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 188
    Points : 113
    Points
    113
    Par défaut
    C'est super, ca marche tres bien, merci beaucoup :=)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Composant Indy pop / message : bizarre bizarre
    Par jlderrien dans le forum Web & réseau
    Réponses: 0
    Dernier message: 20/08/2009, 23h38
  2. Sujet des mail avec IdPOP31 de indy
    Par Coussati dans le forum Delphi
    Réponses: 8
    Dernier message: 13/07/2006, 15h08
  3. Pop-up d'une dialog box a partir d'un bouton
    Par bobbyjack dans le forum MFC
    Réponses: 21
    Dernier message: 13/09/2005, 15h32
  4. [Kylix] indy sur kylix? pb :-(
    Par NicoLinux dans le forum EDI
    Réponses: 7
    Dernier message: 15/05/2002, 23h32
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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