void __fastcall TForm1::Button1Click(TObject *Sender)
{
char* files[3];
files[0] = "C:\\Wydruki\\F0118.pdf";
files[1] = "C:\\Wydruki\\F0119.pdf";
files[2] = "C:\\Wydruki\\F0218.pdf";
SendMail("mojadres@gmail.com", "Testowanie MAPI", "Ala ma kota, a kot ma Ale", 3, files);
}
//---------------------------------------------------------------------------
// Wysyłanie maila z listą załączników
void TForm1::SendMail(char* Adress, char* Title, char* Note, int how_Many, char** Files)
{
//HANDLE hMAPILib = LoadLibrary(L"MAPI32.DLL");
HMODULE hMAPILib = LoadLibrary(L"MAPI32.DLL");
LPMAPILOGON MapiLogon = (LPMAPILOGON)GetProcAddress(hMAPILib, "MAPILogon");
LPMAPISENDMAIL lpMapiSendMail = (LPMAPISENDMAIL)GetProcAddress(hMAPILib, "MAPISendMail");
LPMAPILOGOFF MapiLogoff = (LPMAPILOGOFF)GetProcAddress(hMAPILib, "MAPILogoff");
LHANDLE mapiSession;
(*MapiLogon)(0, NULL, NULL, 0, 0, &mapiSession);
MapiRecipDesc SendTo = {0, MAPI_TO, NULL, Adress, 0, NULL};
std::vector<MapiFileDesc> file_descs(how_Many);
for (int i=0 ; i<how_Many ; ++i)
{
file_descs[i].ulReserved = 0;
file_descs[i].flFlags = 0;
file_descs[i].nPosition = 0;
file_descs[i].lpszPathName = Files[i];
file_descs[i].lpszFileName = NULL;
file_descs[i].lpFileType = NULL;
}
MapiMessage Message = {0, Title, Note, NULL, NULL, NULL, 0, NULL, 1, &SendTo, file_descs.size(), &file_descs.front()};
(*lpMapiSendMail)(0, 0, &Message, 0, 0); // Wysyłanie maila
(*MapiLogoff)(mapiSession, 0, 0, 0);
FreeLibrary(hMAPILib);
}
//---------------------------------------------------------------------------