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

Windows Discussion :

Récupération d'email sur un serveur Exchange.


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 72
    Par défaut Récupération d'email sur un serveur Exchange.
    Bonjour à tous,

    Voilà, j'avais bâti une application qui me permettait de recevoir en automatique des emails, je récupérer le fichier joint
    pour stocker en DB les données qui y étaient contenues. Pour cela, j'utilisais un simple échange POP3 et ça fonctionnait très bien.

    Aujourd'hui, l'IT est passé sur un serveur Exchange et a bloqué les protocoles POP3 et IMAP. Donc ce qui avait été mis en place tombe à l'eau.

    Question: sachant que je ne connais pas Exchange et ses protocoles (propriétaires je suppose ?), je souhaiterais avoir quelques pistes pour bâtir
    une appli en C++ qui se connecte en ?? pour récupérer des emails. Précision, le soft Microsoft Online Service est utilisé.
    Si vous avez quelques liens ou explications, merci beaucoup.

    Cordialement

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 72
    Par défaut
    Juste un petit update.
    Je n'ai pas beaucoup avancé. J'ai pas mal regardé comment est ce que je peux faire fonctionner Mapi. Le truc qui me gène, d'après ce que je comprends, c'est que Outlook doit être installé pour pouvoir utiliser Mapi. Et ça c'est pas top.

    Je continue mes investigations.

    @ram-0000 et jfk12 : merci pour les liens

    A+

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par lephotographe Voir le message
    ...c'est que Outlook doit être installé pour pouvoir utiliser Mapi
    Peut être que outlook express suffit pour installer la MAPI et il me semble qu'il est installé par défaut mais à confirmer.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 72
    Par défaut
    J'ai regardé ce qu'il y a sur le serveur (Windows Server 2008). Il y a bien mapi32.dll.

    J'ai commencé à coder un peu
    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
    /* ------------- Global MAPI function pointers -------------------- */ 
    FARPROC pfnMAPIInitialize = NULL;
    FARPROC pfnMAPIUninitialize = NULL;
    
    
    
    
    void InitializeMapiFunctions()
    {
    	//HINSTANCE hMapi = LoadLibrary((LPCWSTR)"mapi32.dll");
    	HMODULE hMapi = GetModuleHandle((LPCWSTR)"mapi32.dll");
    
        // Initialize MAPI functions.
        pfnMAPIInitialize = GetProcAddress(hMapi, "MAPIInitialize");
        pfnMAPIUninitialize = GetProcAddress(hMapi, "MAPIUninitialize");
    }
    
    
    int main(){
    InitializeMapiFunctions();
    
    return 0;
    }
    Le problème c'est que dans le debugger de VC, hMapi est NULL. En gros, je vois bien la DLL se charger mais je n'arrive pas à récupérer son @.
    Est ce que le cast peut poser problème ?

    Merci

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je parie que sur cette ligne, le compilateur a fait un flot d'insultes et que tu as supprimé ces insultes en mettant un gros cast

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HINSTANCE hMapi = LoadLibrary((LPCWSTR)"mapi32.dll");
    essaye comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HINSTANCE hMapi = LoadLibrary(L"mapi32.dll");
    ou même encore mieux (pour la portabilité UNICODE / MBCS) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HINSTANCE hMapi = LoadLibrary(_TEXT("mapi32.dll"));
    Ton projet semble être un projet UNICODE et donc il veut des chaines de caractères au format UNICODE.

    Pour faire des chaine de caractères UNICODE, on utilise le préfixe "L" (L"toto") ou alors la macro _TEXT (ou aussi _T). exemple, T("toto") ou encore_TEXT("toto")

    Et c'est valable pour toutes les chaines de caractères
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/11/2009, 13h51
  2. Détecter l'arriver d'un mail sur un serveure Exchange
    Par LefortLudovic dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2007, 22h43
  3. [JavaMail] se connecter sur un serveur Exchange
    Par maxxper59 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 25/07/2007, 10h03
  4. Réponses: 5
    Dernier message: 03/02/2006, 13h47
  5. Recuperer sujet et date d'emails sur un serveur POP3
    Par Limod dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 28/09/2005, 18h32

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