Показать сообщение отдельно
Старый 20.02.2008, 13:42   #7  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Вот через mapi32. Осталось на X++ переписать.
X++:
MapiMessage Message = { 0 } ;
Message.lpszSubject="bla-bla";
Message.lpszNoteText="bla-bla";
MapiRecipDesc From = { 0 } ;
From.lpszName="name";
From.lpszAddress="[EMAIL="name@name.ru"]name@name.ru[/EMAIL]";
Message.lpOriginator=&From;
MapiRecipDesc To[1] = { 0 };
To[0].ulRecipClass=1;
To[0].lpszName="name";
To[0].lpszAddress="[EMAIL="name@name.ru"]name@name.ru[/EMAIL]";
Message.nRecipCount=1;
Message.lpRecips=To;
Message.nFileCount=0;
Message.lpFiles=NULL;
typedef ULONG (FAR PASCAL *MAPISendMail) (LHANDLE lhSession,
                                   ULONG ulUIParam,
                                   lpMapiMessage lpMessage,
                                   FLAGS flFlags,
                                   ULONG ulReserved);
HMODULE h = LoadLibrary("Mapi32.dll");
if(h!=NULL)
{
    MAPISendMail fnSend = (MAPISendMail)GetProcAddress(h,"MAPISendMail");
    if(fnSend!=NULL)
    {
        int ret = fnSend(0, 
                   (ULONG)Form1->Handle, 
                   &Message, 
                   MAPI_LOGON_UI | MAPI_NEW_SESSION,  
                   0); 
        if(ret==SUCCESS_SUCCESS)
            Application->MessageBox("Message sends SUCCESSful", "Ok!", MB_OK);
        else
        {
            Application->MessageBox(DecodeErrorMessage(ret).c_str(), "Error", MB_OK);
        }
    }
    else 
        Application->MessageBox("Can't get DLL function", "Error!", MB_OK);
    FreeLibrary(h);
}
else 
    Application->MessageBox("Can't load DLL", "Error!", MB_OK);