Mail + mapi + helpppppppppp

cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 21 avril 2005 à 11:59
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 27 avril 2005 à 09:55
Bonjour à tous,

Quelqun serait t'il comment envoyer un mail avec le corp en html et un fichier joint, en c++.net ???

Si quelqun avait une solution ou un bout de code.....

par avance, merci.

9 réponses

scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005
21 avril 2005 à 14:58
Salut !

J'ai eu ce problème récemment, tu peux faire une recherche sur MSN en regardant ce qui se dit sur IMessage sinon je te donne le lien http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_imessage_interface.asp
Tu peux prendre le code source de la page et le modifier, ça fonctionne nickel.

Bon courage.

Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
21 avril 2005 à 15:12
Merci pour ta réponse, je fais ca en c++.net mais en faite en faisant copier coller de la source que tu m'a passé j'ai deux erreurs Configuration symbole ambigu et Message symbole ambigu, serais tu pourquoi ?
0
scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005
21 avril 2005 à 15:53
Non je ne vois pas trop pourquoi ça te fait ça...
Le compilateur te dit que ça vient du code de ton programme ou bien il t'ouvre d'autre fichier .h quand tu double clic sur les messages d'erreurs ?

Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
21 avril 2005 à 16:04
CoCreateInstance(



__uuidof(Configuration),


NULL,


CLSCTX_INPROC_SERVER,



__uuidof(IConfiguration),


(
void**)&pConfig);

il me point vers la mais c pas un autre fichier.h c'est le code que j'ai recopié
0

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

Posez votre question
scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005
21 avril 2005 à 16:24
As-tu bien fais les bons include ?

/*----- Import et Include pour genemail() -----*/
#import <cdosys.dll> no_namespace raw_interfaces_only
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace raw_interfaces_only
#include "cdosysstr.h"
#include "cdosyserr.h"
#include <comutil.h> // variant... SetString
/*---------------------------------------------*/



Sinon voici comment j'ai modifié le code (j'ai pas mis des nom bateau pour publier sur le forum) :

/*--------------------------------------------*/
/* Génération et Envoie du Mail */
/*--------------------------------------------*/
void geneMail()
{
_bstr_t bstrTest;

CoInitialize(NULL);

vTo.SetString(eMail); // chaine contenant l'adresse du destinataire.
vText.SetString(postTab); // chaine contenant le corps du message


IMessage* pMsg = NULL;
IBodyPart* pBp = NULL;
IConfiguration* pConfig = NULL;
Fields* pFlds = NULL;
Field* pFld = NULL;
_Stream* pStm = NULL;


HRESULT hr = S_OK;


hr=CoCreateInstance(
__uuidof(Message),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IMessage),
(void**)&pMsg);


pMsg->put_To(_bstr_t(vTo)); //Destinataire
pMsg->put_From(_bstr_t(""Test" <[mailto:Test@nom_de_domaine.fr Test@nom_de_domaine.fr]>")); //Expéditeur
pMsg->put_AutoGenerateTextBody(TRUE);
pMsg->put_Subject(_bstr_t("Programme test_stdin")); //Sujet du Message
pMsg->put_MimeFormatted(TRUE);
pMsg->put_HTMLBody(_bstr_t( vText )); // Corps du Message


CoCreateInstance(
__uuidof(Configuration),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IConfiguration),
(void**)&pConfig);


pConfig->get_Fields(&pFlds);


pFlds->get_Item(_variant_t(cdoSendUsingMethod),&pFld);
pFld->put_Value(_variant_t((long)cdoSendUsingPort));
pFld->Release();
pFld=NULL;


pFlds->get_Item(_variant_t(cdoSMTPServer),&pFld);
pFld->put_Value(_variant_t("smtp.hotmail.com")); // Nom serveur SMTP
pFld->Release();
pFld=NULL;


pFlds->get_Item(_variant_t(cdoSMTPServerPort),&pFld);
pFld->put_Value(_variant_t((long)25)); // Port SMTP
pFld->Release();
pFld=NULL;

pFlds->Update();
pFlds->Release();
pFlds=NULL;


pMsg->putref_Configuration(pConfig);
pConfig->Release();
pConfig=NULL;


pMsg->Send();


pMsg->Release();


CoUninitialize();
}

Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
21 avril 2005 à 16:50
merci, pour le code,

C'est tjs pareil en faite tjs les symboles ambigus
0
scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005
27 avril 2005 à 09:33
Salut !

Je rencontre maintenant le même problème que toi, voila ce que j'ai changé :
maintenant je suis dans un projet console.NET et non plus un projet console Win32. C'est pour ça que je n'avais pas de problème moi. Je vais essayer de chercher pourquoi j'ai un problème de ce côté la.
Si tu trouve la solution avant moi, n'oublie pas de poster la solution ;o).

A bientôt !

Arnaud.

Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
27 avril 2005 à 09:51
j'ai trouvé,

tu va là : http://www.codeproject.com/csharp/simplemapidotnet.asp

tu telecharger le projet. Tu prends MapiApi.cs, c'est du c#, tu le compile, tu en recupere une dll. Tu l'inclus dans ton projet en c++ : ajouter une reference et tu as plus qu'as faire using namespace win32mapi.

Et ensuite tu fais :

Mapi * a = new Mapi() ;
a->sending(machin)
a->attach(c:\monfichier.txt) ; etc....

y'a sendform.cs ou y'a des exemples pour te servir de la classe Mapi.

Voila, en esperant t'avoir aidé
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
27 avril 2005 à 09:55
tu peux aussi mettre le texte du mail en html String * text = "<html> bonjour
</html>" ;
et ca ouvre le navigateur par défaut.
0
Rejoignez-nous