Extraire info fichier mail

Résolu
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009 - 23 juin 2006 à 20:11
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 - 1 juil. 2006 à 10:13
Y'a t-il des APIS ou instructions VB qui permettraient d'extraire les infos (sujet, emetteur, destinaires, presence pièce jointe, demande accusé reception, ...) d'un fichier mail?
Ou quelqu'un a t-il une réference à un site expliquant les normes la dessus?

Je sais que c'est possible d'ouvrir un fichier et fouiller dedans mais sans connaître les normes ce serait un peu hasardeux.

Espérant une aide pour celui qui aurait une réponse.

Cordialement,

Asimengo

8 réponses

troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
28 juin 2006 à 16:32
Salut,

A mon avi il faut deja detailler la source de plusieurs mail pour savoir si c'est pas fesable par du simple code Vb, ce qui est a mon avi complement possible
Pour donner un exemple de recherche il faut utiliser Regex qui est le plus puissant pour rechercher quelle que chose dans du texte

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
3
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
30 juin 2006 à 12:20
Bonjour TroXsa et merci d'avoir bien voulu répondre à ma requête.
C'est quoi Regex?
A+

ASIMENGO
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 juin 2006 à 13:08
on parle bien de fichiers .eml ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
30 juin 2006 à 13:33
En fait les fichiers mails sont dans un dossier sur le serveur de mails. Avec les filtres de contenus et blocage anti-spams le logiciel serveur de mails stocke les spams dans les sous-dossiers des comptes utilisateurs. Mon serveur de mails ne me permet que de lister un seul compte à la fois. mais ce qui m'intéresse le plus c'est d'avoir un listing de tous les sous-dossiers spams, les classer par objet croissant et faire des suppressions en bloc ou rediriger les faux spams dans les bons dossiers.

Voilà en gros la raison de vouloir lire certains info d'un fichier mail. Jusqu'à present j'y arrive en ouvrant le fichier en faisant quelques recherches mais je me dis que comme pour les fichiers .ini il devrait avoir des APIS pour le faire mieux et "plus propre".

ASIMENGO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
30 juin 2006 à 20:23
"Microsoft VBScript Regular Expressions n.n", je ne connaissais pas cette DLL, c'est merveilleux, bien que tout nouveau pour moi je sais qu'il y'a à se remettre à l'école. Même si c'est vrai que je n'y arriverais pas tout de suite ça devrait être possible.

Encore merci TroXsa, en faisant une recherche avec le mot Regex dans le site on tombe sur pas mal de sources la dessus notamment celui de Renfield et autres.


Je dois dire que depuis que je suis inscris sur vbfrance, je n'ai pas vu passé des sources avec Regex. J'espère qu'il y'aura de nouvelles publications la dessus.

A+

ASIMENGO
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
30 juin 2006 à 23:27
Ta pas rechercher assez :)
regarde sur le site de Microsoft tu vera tu seras fourni au pire si tu trouve pas je te ferais un exemple tiré du MSDN c'est pas facile certe mais c'est puissant :)

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juil. 2006 à 00:11
Pas besoin de cette dll pour utiliser les RegExp en .Net :o

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
1 juil. 2006 à 10:13
/library/en-us/cpref/html/frlrfsystemtextregularexpressionsregexclasstopic.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextregularexpressionsregexclasstopic.asp



Dans VB2005 MSDN il y a pas mal d'exemple
            ' Define groups "abc", "ab", and "b".
            Dim r As New Regex("(a(b))c")
            Dim m As Match = r.Match("abdabc")
            Console.WriteLine("Number of groups found = " _
            & m.Groups.Count.ToString())

Ou
L'exemple d'application console suivant utilise l'expression régulière
(Abc)+
pour rechercher une ou plusieurs correspondances dans la chaîne « XYZAbcAbcAbcXYZAbcAb ». Cet exemple illustre l'utilisation de la propriété Captures pour retourner plusieurs groupes de sous-chaînes capturées.

          Dim counter As Integer
            Dim m As Match
            Dim cc As CaptureCollection
            Dim gc As GroupCollection
            ' Look for groupings of "Abc".
            Dim r As New Regex("(Abc)+")
            ' Define the string to search.
            m = r.Match("XYZAbcAbcAbcXYZAbcAb")
            gc = m.Groups
           
            ' Print the number of groups.
            Console.WriteLine("Captured groups = " & gc.Count.ToString())
           
            ' Loop through each group.
            Dim i, ii As Integer
            For i = 0 To gc.Count - 1
                cc = gc(i).Captures
                counter = cc.Count
               
                ' Print number of captures in this group.
                Console.WriteLine("Captures count = " & counter.ToString())
               
                ' Loop through each capture in group.           
                For ii = 0 To counter - 1
                    ' Print capture and position.
                    Console.WriteLine(cc(ii).ToString() _
                        & "   Starts at character " & cc(ii).Index.ToString())
                Next ii
            Next i
Ou
L'exemple suivant exécute une boucle dans une collection Group , extrait la collection Capture de chaque membre de Group et assigne les variables posn et length à l'emplacement du caractère dans la chaîne d'origine dans laquelle chaque chaîne a été trouvée et à la longueur de chaque chaîne, respectivement.

Dim r As Regex
Dim m As Match
Dim cc As CaptureCollection
Dim posn, length As Integer

r = New Regex("(abc)*")
m = r.Match("bcabcabc")
Dim i, j As Integer
i = 0
While m.Groups(i).Value <> ""
' Grab the Collection for Group(i).
cc = m.Groups(i).Captures
For j = 0 To cc.Count - 1
' Position of Capture object.
posn = cc(j).Index
' Length of Capture object.
length = cc(j).Length
Next j
i += 1
End While

J'espere que ces exemples te suffirons

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
Rejoignez-nous