Impossible d'envoyer un mail avec Mapi + Outlook ?

GDon_Fr Messages postés 2 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 3 mai 2004 - 3 mai 2004 à 16:14
GDon_Fr Messages postés 2 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 3 mai 2004 - 3 mai 2004 à 16:16
Bonjour à tous,

Je dois développer une application qui saura envoyer un mail via n'importe quel client mail compatible avec "Simple Mapi". En regardant sur différent forum, entre autre ici, j'ai cru comprendre qu'Outlook ne devait pas poser trop de problème. Cependant, j'ai un souci.
L'entrée en session se passe bien, mais l'envoi de mail se plante à chaque fois avec la même erreur "MAPI_E_FAILURE".
En revanche avec Outlook Express, ou encore Netscape, aucun problème, mon code fait bien son boulot.
Quelqu'un aurait il une suggestion, un piste à explorer ?

ci-dessous un bout de mon code
(avec mail_trace () une fonction qui fait juste un MessageBox ...).


ULONG result ;
MapiMessage    stMessage ;
MapiRecipDesc  stFrom ;
HINSTANCE      hInstMail = NULL ;

LPMAPISENDMAIL fnSendMail   = NULL ;
LPMAPILOGON    fnMAPILogon  = NULL ;
LPMAPILOGOFF   fnMAPILogoff = NULL ;
LHANDLE        hSession     = NULL;

fnMAPILogon  = (LPMAPILOGON)    GetProcAddress(hInstMail, "MAPILogon");
fnSendMail   = (LPMAPISENDMAIL) GetProcAddress(hInstMail, "MAPISendMail");
fnMAPILogoff = (LPMAPILOGOFF)   GetProcAddress(hInstMail, "MAPILogoff");

result = fnMAPILogon(NULL,NULL,NULL,MAPI_LOGON_UI ,0,&hSession) ;

if (result != SUCCESS_SUCCESS)
  {
   mail_trace ("MAPI LOGON FAILED") ;
   ok = false ;
  }

// ... renseignement du contenu du mail

result = fnSendMail(hSession, (ULONG) Application->Handle,
                       &stMessage, MAPI_LOGON_UI | MAPI_DIALOG, 0);

  switch (result)
     {
       case SUCCESS_SUCCESS:
         error_message = "SUCCESS_SUCCESS";
         break;
       case MAPI_E_AMBIGUOUS_RECIPIENT:
         error_message = "MAPI_E_AMBIGUOUS_RECIPIENT";
         break;
       case MAPI_E_ATTACHMENT_NOT_FOUND:
         error_message = "MAPI_E_ATTACHMENT_NOT_FOUND";
         break;
       case MAPI_E_ATTACHMENT_OPEN_FAILURE:
         error_message = "MAPI_E_ATTACHMENT_OPEN_FAILURE";
         break;
       case MAPI_E_BAD_RECIPTYPE:
         error_message = "MAPI_E_BAD_RECIPTYPE";
         break;
       case MAPI_E_FAILURE:
         error_message = "MAPI_E_FAILURE";
         break;
       case MAPI_E_INSUFFICIENT_MEMORY:
         error_message = "MAPI_E_INSUFFICIENT_MEMORY";
         break;
       case MAPI_E_LOGIN_FAILURE:
         error_message = "MAPI_E_LOGIN_FAILURE";
         break;
       case MAPI_E_TEXT_TOO_LARGE:
         error_message = "MAPI_E_TEXT_TOO_LARGE";
         break;
       case MAPI_E_TOO_MANY_FILES:
         error_message = "MAPI_E_TOO_MANY_FILES";
         break;
       case MAPI_E_TOO_MANY_RECIPIENTS:
         error_message = "MAPI_E_TOO_MANY_RECIPIENTS" ;
         break;
       case MAPI_E_UNKNOWN_RECIPIENT:
         error_message = "MAPI_E_UNKNOWN_RECIPIENT" ;
         break;
       case MAPI_E_USER_ABORT:
         error_message = "MAPI_E_USER_ABORT" ;
         break;
       default:
         error_message = "MAPI_UNKNOWN_ERROR" ;
         break;
      } ;

 mail_trace (error_message) ;
 
 fnMAPILogoff(hSession, NULL, NULL, NULL) ;



D'avance merci, :shy)

1 réponse

GDon_Fr Messages postés 2 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 3 mai 2004
3 mai 2004 à 16:16
(meme en virant le MAPI_DIALOG rien ne change hein, je précise des fois que ;)
0
Rejoignez-nous