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

C++ Discussion :

Créer un mail via une appli


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Par défaut Créer un mail via une appli
    Bonjour ,

    Je souhaite créer un mail via mon appli C++ sous pocket PC 2003.
    mon appli s'appelle : PROJET

    Actuellement j'arrive à créer le mail avec tous les paramêtres, mais il se place dans le dossier "BROUILLON" du compte "Courrier Outlook"
    alors que je voudrais qu'il se place dans le répertoire "Boîte d'envoi" du dossier "PROJET" que j'ai paramêtré précédement.

    voici mon code source :

    /////////////////////////////////////////////////////////////////////////////
    // Function name : CMailObj::SubmitMail
    // Description : Creates a new message in the message store
    //
    // Return type : BOOL - RETURNS TRUE if Successful, FALSE otherwise.
    //
    // Argument : LPTSTR lpszTo - Pointer to a string containing
    // Recipient's Name.
    //
    // Argument : LPTSTR lpszSubject - Pointer to a string containing
    // the Message Subject.
    //
    // Argument : LPTSTR lpszBody - Pointer to a string containing
    // the Body of the Message.
    //
    // Argument : LPTSTR lpszAttach - Pointer to a string containing
    // the path & file of the attachment.
    //
    BOOL CEMailHandler::SubmitMail(LPTSTR lpszTo, LPTSTR lpszSubject, LPTSTR lpszBody, LPTSTR lpszAttachPath)
    {
    BOOL bReturn = TRUE;
    HANDLE phNewMail = NULL;
    MailMsg Msg;
    MailAtt MAtt;

    // Check for an attachment
    if (*lpszAttachPath)
    {
    // Clear the MailAtt Structure
    memset(&MAtt, 0, sizeof(MailAtt));

    // Setup the Mail Attachment Structure
    MAtt.uiAttachmentNumber = 1;
    MAtt.dwFlags = NULL;
    //MAtt.ulCharacterPosition; // NOT SUPPORTED YET!
    MAtt.ulSize = NULL; // Not needed since we are sending a local file

    // MAtt.szOriginalName = TEXT("Pièce jointe");
    MAtt.szOriginalName = lpszAttachPath;

    MAtt.szLocalName = lpszAttachPath;

    }
    // Open the message store and obtain a handle to the mail context
    bReturn = MailOpen ( &phNewMail, TRUE );

    // Check for Success
    if ( ( bReturn ) && ( NULL != phNewMail ) )
    {
    bReturn = FALSE;

    // Clear the MailMsg
    memset ( &Msg, 0, sizeof ( MailMsg ) );


    // Specify which transport service we want to send the message.
    Msg.szSvcNam = TEXT("Projet");

    // Specify that we want the msg placed in the Outbox to be sent.
    Msg.dwFlags = MAIL_FOLDER_OUTBOX | MAIL_STATUS_COMPOSED;

    // Set the pointer to the Body of the message.
    Msg.szBody = lpszBody;

    // Set our Header up.
    bReturn = MailSetField ( &Msg, TEXT( "To" ), lpszTo );
    bReturn = MailSetField ( &Msg, TEXT( "Subject" ), lpszSubject );

    // Set Date
    SYSTEMTIME tTime;
    FILETIME ftTime;
    GetSystemTime(&tTime);

    SystemTimeToFileTime(&tTime, &ftTime);
    Msg.ftDate = ftTime;

    // Place the message on the message store.
    bReturn = MailPut ( phNewMail, &Msg );
    if (( bReturn ) && ( NULL != &Msg ))
    {
    if(*lpszAttachPath)
    {
    #ifdef _DEBUG
    char outstring[300];
    wsprintf((unsigned short*)outstring, L"Attachment Path = \"%s\" \n", MAtt.szLocalName);
    OutputDebugString((unsigned short *)outstring);
    #endif
    // Note that MailPutAttachment will attach the file to
    // the mailmsg and also DELETE THE ORIGINAL FILE.
    // You might want to copy the original file
    // before attaching it. Also note that since it deletes
    // the original, you will get an error when attempting
    // to attach a file that exists on ROM.
    bReturn = MailPutAttachment(phNewMail, &Msg, &MAtt);
    }
    }
    }

    // Release our new Mail Handle
    if(phNewMail) MailClose(phNewMail);

    return bReturn;

    }
    Le code "Msg.szSvcNam = TEXT("Projet");" devrait indiquer le nom du dossier dans lequel copier le mail mais apparement cela ne marche pas.
    il se place toujours dans le dossier "Courrier Outlook" par défaut.

    Merci à tout ceux qui tenterons de m'aider.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Par défaut
    42 personnes ont vus ce post et personne n'a une petite solution ?

  3. #3
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    Salut,
    je ne suis pas sûr que ta question soit posée au bonne endroit.
    En C++, pour créer un mail il suffit de faire un fichier texte,
    et tu peux envoyer en mail par sendmail directement.

    To:toto@boite.com
    Subject:Mail bidon
    content:text...

    le message...


    enfin en truc du genre.

    As-tu essayé dans un forum plus orienté windows ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Par défaut
    J'ai essayé de mettre mon post dans un autre endroit mais on l'a verrouillé pour cause de multi-post (ce que je comprends très bien)

    Si un modérateur pense que ce message n'est pas au bon endroit, je m'en remet à son jugement.

    Sinon en environnement Pocket, windows CE, je ne pense pas que le sendmail marche

    Merci quand même de ta tentative

  5. #5
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    sendmail sous Windows CE... pas gagné

    mais bonne change pour trouver en tout cas.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Par défaut
    avant Pocket PC 2002, il fallait se référencer à la lib msgstore
    mais apparement en pocket PC 2003 il faut utiliser CeMapi.dll présent dans le répertoire Windows du pocket...

    Pour corser le tout il semble qu'il faille loader dynamiquent cette dll
    dans l'apli pour que cela marche.

    Je ne sais pas encore comment je vais m'y prendre pour faire ça mais si quelqu'un à une petite idée ...

    Merci d'avance.

Discussions similaires

  1. créer un jar d'une appli java utilisant d'autres jar
    Par jakouz dans le forum Général Java
    Réponses: 2
    Dernier message: 14/02/2007, 17h20
  2. Installer une macro Word via une appli distante
    Par JnewB dans le forum VBA Word
    Réponses: 3
    Dernier message: 28/09/2006, 14h17
  3. Créer un dossier via une commande PHP
    Par budylove dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2006, 13h45
  4. Créer un mail dans une application
    Par Cedced dans le forum Windows
    Réponses: 1
    Dernier message: 03/10/2005, 11h35

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