na ovom forumu veoma slican primer sa MAPI koji takodje dinamicki ucitava MAPI dll),ali se desava chudna stvar:primer je konzolni program koji se normalno pokrene i..nista - poruka se NE posalje,a ne prijavljuje se nikakva greska:
Code:
#include <xcmc.h>
typedef CMC_return_code (FAR PASCAL *LPFNCMCLOGON)(CMC_string,
CMC_string, CMC_string, CMC_enum, CMC_ui_id, CMC_uint16,
CMC_flags, CMC_session_id FAR *,CMC_extension FAR *);
typedef CMC_return_code (FAR PASCAL *LPFNCMCSEND)(CMC_session_id,
CMC_message FAR *, CMC_flags, CMC_ui_id,CMC_extension FAR *);
typedef CMC_return_code (FAR PASCAL *LPFNCMCLOGOFF)(CMC_session_id,
CMC_ui_id, CMC_flags, CMC_extension FAR *);
LPFNCMCLOGON lpfnCMCLogon;
LPFNCMCSEND lpfnCMCSend;
LPFNCMCLOGOFF lpfnCMCLogoff;
CMC_recipient recipient =
{
"Deki", CMC_TYPE_INDIVIDUAL,
"SMTP:
[email protected]", CMC_ROLE_TO,
CMC_RECIP_LAST_ELEMENT, NULL
};
CMC_message message =
{
NULL, "CMC: IPM", "Pozdrav", {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
"Test, 1,2,3\n", &recipient, NULL,
CMC_MSG_LAST_ELEMENT, NULL
};
void main(void)
{
char msg[1000];
CMC_session_id session;
CMC_return_code retcode;
HANDLE hMAPILib;
hMAPILib = LoadLibrary("MAPI32.DLL");
lpfnCMCLogon =
(LPFNCMCLOGON)GetProcAddress(hMAPILib, "cmc_logon");
lpfnCMCSend =
(LPFNCMCSEND)GetProcAddress(hMAPILib, "cmc_send");
lpfnCMCLogoff =
(LPFNCMCLOGOFF)GetProcAddress(hMAPILib, "cmc_logoff");
(*lpfnCMCLogon)(NULL, NULL, NULL, (CMC_enum)0, 0, 100,
CMC_ERROR_UI_ALLOWED | CMC_LOGON_UI_ALLOWED, &session, NULL);
(*lpfnCMCSend)(session, &message, 0, 0, NULL);
(*lpfnCMCLogoff)(session, 0,
CMC_ERROR_UI_ALLOWED | CMC_LOGOFF_UI_ALLOWED, NULL);
printf("Poruka poslata.\n");
FreeLibrary(hMAPILib);
}
Takodje mi nije jasno sta je sa adresom onoga koji salje mail (tj. mene), odn. sta se
ovde koristi kao identifikacija posiljaoca (u ovom primeru saljem poruku samom sebi?