Impossible d'envoyer un mail avec Mapi + Outlook ?
GDon_Fr
Messages postés2Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention 3 mai 2004
-
3 mai 2004 à 16:14
GDon_Fr
Messages postés2Date d'inscriptionlundi 3 mai 2004StatutMembreDerniè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)
A voir également:
Impossible d'envoyer un mail avec Mapi + Outlook ?