Afficher en-tête SMTP de mails

Messages postés
1
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
- - Dernière réponse : ensto28
Messages postés
88
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
23 mars 2011
- 4 nov. 2009 à 17:39
Bonjour à tous,

Je ne suis pas programmeur/développeur et je ne connais absolument rien à Visual Basic.

Je ne sais pas si j'ai posté dans le bon thème mais voici ma problèmatique :

Je dois récupérer les en-tête SMTP de certains messages dans mon Outlook 2007. J'ai donc fait des recherches sur le net et j'ai trouvé chez Microsoft
http://support.microsoft.com/kb/194870/en-us

ce code :

Private Sub Form_Load()

      Dim oSession As MAPI.Session
      Dim oFolder As Folder
      Dim oMsgColl As Messages
      Dim oMessage As Message

      ' Logon to the MAPI session
      Set oSession = New MAPI.Session
      oSession.Logon

      ' Get the Inbox folder and its message collection.
      Set oFolder = oSession.GetDefaultFolder(CdoDefaultFolderInbox)
      Set oMsgColl = oFolder.Messages

      ' Search through the messages in the Inbox for the Internet
      ' message.  Then use the CdoPR_TRANSPORT_MESSAGE_HEADERS
      ' (&H7D001E) property tag to retrieve the Internet header.
      ' If the property doesn't exist(Not a Internet message) you will
      ' receive a MAPI_E_NOT_FOUND error.

      For Each oMessage In oMsgColl
         If oMessage.Subject = "Test Internet message" Then
              MsgBox oMessage.Fields(&H7D001E) 'Display the header
         End If
      Next

      ' Logoff and cleanup
      oSession.Logoff
      Set oSession = Nothing
      Set oMessage = Nothing
      Set oMsgColl = Nothing
      Set oFolder = Nothing

    End Sub			


J'ai télechargé Microsoft Visual Basic 2008 Express Edition et j'ai créé un nouveau projet "Windowsformapplication" et j'ai essayé de coller ce code mais j'ai eu des messages d'avertissement que j'ai réussi (je pense) à résoudre. Mais il m'en reste un avec le code suivant :

Imports MAPI

Module SMTPHeader

    Private Sub Form_Load()

        Dim oSession As MAPI.Session
        Dim oFolder As MAPI.Folder
        Dim oMsgColl As MAPI.Messages
        Dim oMessage As MAPI.Message
        Dim CdoDefaultFolderInbox As MAPI.Folder

        ' Logon to the MAPI session
        oSession = New MAPI.Session
        oSession.Logon()

        ' Get the Inbox folder and its message collection.
        oFolder = oSession.GetDefaultFolder(CdoDefaultFolderInbox)
        oMsgColl = oFolder.Messages

        ' Search through the messages in the Inbox for the Internet
        ' message.  Then use the CdoPR_TRANSPORT_MESSAGE_HEADERS
        ' (&H7D001E) property tag to retrieve the Internet header.
        ' If the property doesn't exist(Not a Internet message) you will
        ' receive a MAPI_E_NOT_FOUND error.

        For Each oMessage In oFolder.Messages
            If oMessage.Subject = "l'objet de mon message" Then
                MsgBox(oMessage.Fields(&H7D001E)) 'Display the header
            End If
        Next

        ' Logoff and cleanup
        oSession.Logoff()
        oSession = Nothing
        oMessage = Nothing
        oMsgColl = Nothing
        oFolder = Nothing

    End Sub
End Module


Avant de coller le code j'ai fait "Project", "Add Reference", COM Tab "Microsoft CDO1.21 Library" que j'avais préalablement installé (MS CDO 1.21).
L'erreur que j'ai actuellement est la suivante :
A la ligne
:oFolder = oSession.GetDefaultFolder(CdoDefaultFolderInbox)

CdoDefaultFolderInbox est souligné et il m'est précisé "Variable 'CdoDefaultFolderInbox' is used before it has been assigned a value. A null reference exception could result at runtime."

Si je ne déclare pas CdoDefaultFolderInbox (comme dans le code original), j'obtiens l'erreur suivante : "Error 1 Name 'CdoDefaultFolderInbox' is not declared."

Je ne sais pas ce que je dois faire ou si l'adaptation du code original est correcte. Mais je souhaiterais obtenir l'en-tête smtp de mes messages.

D'avance, je vous remercie pour votre aide.

Cordialement.

Eric_K
Afficher la suite 

1 réponse

Messages postés
88
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
23 mars 2011
0
Merci
slt
Ache 9rabak awlidiii l had L forum
Commenter la réponse de ensto28