This is sort of it, except that I am also attaching a file with a MapiFileDesc structure... LPMAPILOGON lpfnMAPILogon; LPMAPISENDMAIL lpfnMAPISendMail; LPMAPILOGOFF lpfnMAPILogoff; LHANDLE lhSession; HMODULE hMAPILib; MapiRecipDesc sender = { 0, MAPI_ORIG, "anyone", "anyone@anywhere.com", 0, NULL }; MapiRecipDesc recipient = { 0, MAPI_TO, "someone@anywhere.com", NULL, 0, NULL }; MapiMessage message = { 0, "Some subject", "Some message text", NULL, NULL, NULL, 0, NULL, 1, &recipient, 0, NULL }; hMAPILib = LoadLibrary("either MAPI32.DLL or MSOE.DLL depending on MSO or MSOE"); lpfnMAPILogon = (LPMAPILOGON)GetProcAddress(hMAPILib, "MAPILogon"); lpfnMAPISendMail = (LPMAPISENDMAIL)GetProcAddress(hMAPILib, "MAPISendMail"); lpfnMAPILogoff = (LPMAPILOGOFF)GetProcAddress(hMAPILib, "MAPILogoff"); (*lpfnMAPILogon)(0, NULL, NULL, 0, 0, &lhSession); (*lpfnMAPISendMail)(lhSession, 0, &message, MAPI_DIALOG, 0); (*lpfnMAPILogoff)(lhSession, 0, 0, 0); FreeLibrary(hMAPILib); ~LizardWiz()