//////////////////////////////////////////////////////////////////////////// // // Crytek Engine Source File. // Copyright (C), Crytek Studios, 2001. // ------------------------------------------------------------------------- // File name: Mailer.cpp // Version: v1.00 // Created: 5/12/2001 by Timur. // Compilers: Visual C++ 6.0 // Description: Send Mail. // ------------------------------------------------------------------------- // History: // //////////////////////////////////////////////////////////////////////////// #include "StdAfx.h" #include "Mailer.h" #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include #include #include "mailer.h" bool CMailer::SendMessage(const char *subject, const char *messageBody, const std::vector &_recipients, const std::vector &_attachments, bool bShowDialog) { // Preserve directory, (Can be changed if attachment specified) char dir[MAX_PATH]; GetCurrentDirectory( sizeof(dir),dir ); // Load MAPI dll HMODULE hMAPILib = LoadLibrary("MAPI32.DLL"); LPMAPISENDMAIL lpfnMAPISendMail = (LPMAPISENDMAIL) GetProcAddress(hMAPILib, "MAPISendMail"); int numRecipients = (int)_recipients.size(); // Handle Attachments MapiFileDesc* attachments = new MapiFileDesc[_attachments.size()]; int i = 0; for(unsigned int k=0; k<_attachments.size();k++) { FILE *file = fopen(_attachments[k],"r"); if (!file) continue; fclose(file); attachments[i].ulReserved = 0; attachments[i].flFlags = 0; attachments[i].nPosition = (ULONG)-1; attachments[i].lpszPathName = (char*)(const char*)_attachments[k]; attachments[i].lpszFileName = NULL; attachments[i].lpFileType = NULL; i++; } int numAttachments = i; // Handle Recipients MapiRecipDesc* recipients = new MapiRecipDesc[numRecipients]; std::vector addresses; addresses.resize( numRecipients ); for (i = 0; i < numRecipients; i++) { addresses[i] = string("SMTP:") + _recipients[i]; } for(i=0; i &_recipients, const std::vector &_attachments, bool bShowDialog) { return true; } #endif //WIN32