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

Discussion :

[ActiveX] Envoyer un mail avec Outlook

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 17
    Points : 10
    Points
    10
    Par défaut [ActiveX] Envoyer un mail avec Outlook
    Bonjour
    j aimerais controler outlook depuis qt creator.

    Le but est d 'envoyer un mail.

    J ai suivi le tuto suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        QAxWidget outlook( "Outlook.Application" );
        QAxObject *session = outlook.querySubObject( "Session" );
        if ( session ) {
            QAxObject *defFolder = session->querySubObject(
                                    "GetDefaultFolder(OlDefaultFolders)",
                                    "olFolderContacts" );
     
            //...
     
        }.
    Pas de probleme à la compilation et à ol 'execution.

    Par contre je debute en active X et je ne sais pas du tout comment m y prendre pour envoyer un mail de maniere automatique.
    Quelqu un peut me dire comment proceder merci?

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut
    Hello Superman33,

    Peut être ceci pourra t'aider, voici par exemple un code VBScrit qui envoi un mail tout simple. Je pense que tu pourra facilement l'adapter pour Qt.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set myItem = Outlook.CreateItem(olMailItem)
    	myItem.To = "Dan Wilson"
    	myItem.Subject = "Data files information"
    	myItem.Send
    Cet exemple est tiré de la doc OLE de outlook. Cette doc est accessible depuis le dossier d'installation de Office. Voir ici. POur outlook, le nom du fichier est VBAOLXX.CHM ou XX dépend de la version de Office.

    J'éspère t'avoir un peu aidé. Désolé de ne pas pouvoir te donner un solution toute prête.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    merci de ton aide ca m aide un peu...

    mais effectivement j ai du mal a le transcrire en C

    merci

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut Une solution
    Ton problème m'intéresse alors j'ai un peu creusé
    Voici une solution, assez basique, par contre si tu as besoin de plus de fonctionnalité, je te recommande de t'interessé au tool dumpcpp et à l'importation de la type library, cela facilite le travail, voir l'exemple Qutlook ici.

    Voici donc un solution possible :

    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
     
     
    #include <QAxBase>
    #include <QAxObject>
    #include <QAxWidget>
    #include <QDebug>
    ....
     
    functionQuelconque(){
        QAxWidget outlook;
     
     
        if(outlook.setControl( "Outlook.Application" )){
             qDebug() << "Success to get Outlook application";
            QAxObject *mail = outlook.querySubObject("CreateItem(olMailItem)");
            if(mail){
                mail->setProperty("To","toto@titi.com");
                mail->setProperty("Subject","test automation");
                mail->setProperty("Body", "Hello, this is the mail body.\n Goodbye");
                mail->dynamicCall("Display()");
                //pour l'envoi
                //mail->dynamicCall("Send()");
     
            } else{
                qDebug() << "Failed to create mail item";
            }
     
     
        } else{
            qDebug() << "failed to get oultook application";
        }
    }
    Ca fonctionne bien chez moi.

    C'est la première fois que je fais ce genre de chose alors je ne peux pas te dire si il est nécessaire de libérer la mémoire d'un façon spécifique, ou si il suffit de détruire l'objet "mail".

    Autre chose, lors de l'envoi d'un mail (code que j'ai commenté), un popup d'outlook te demandera d'autoriser l'envoi depuis un programme externe, cela risque donc de ne pas fonctionner si personne n'est devant la machine pour cliquer sur "Allow" (ou "Authoriser" si tu as office en français).

    Une autre voie plus facile serais d'utiliser directement le protocol SMTP pour envoyer ton e-mail.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/06/2015, 12h37
  2. [XL-2007] Envoyer un mail avec outlook à partir d'excel avec des tableaux dans le corps du mail
    Par BarneyYagami dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2014, 16h48
  3. [XL-2007] macro pour envoyer mail avec outlook express avec image
    Par HIGGUINS dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/02/2011, 11h47
  4. envoyer un mail avec jsp (sans passer par outlook)
    Par tntneo dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 16/04/2009, 21h35
  5. Envoyer un mail avec Outlook par Excel
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 02/02/2009, 10h57

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