![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Outlook & Delphi [Delphi, Windows]
menart © (2004-07-16 08:37:00)Как с помошью Ole команд создать и отправить сообщение?
негде не могу найти ...
мне надо создать и отправить через Exschange Server
какие объекты надо создовать и как отправить?
Maksym (2005-01-27 19:09:00) [1]А как нибудь можно сделать копию папки "входящие" в Mozilla Thunderbird?очень серьезная проблема ..как ее решитЬ?спасибо заранее тем кто знает..
menart (2004-07-20 18:28:00) [2]
> luckygluck (16.07.04 21:14) [3]
> A что с ShellExecute ?
надо самому нажимать кнопочку отправить, а надо что бы программа болталась на серваке и ты мог туда месяцами не заглядывать пока приходит почта
menart (2004-07-19 17:05:00) [3]если в политиках безопасности отключено SMTP
Евкисий (2004-07-19 10:19:00) [4]Через OLE получается работать только с MS Outlok'ом, но не c Outlook Express.
Используя MAPI дествительно можно не привязываться к клиенту, но зачем так заморачиваться когда в Indy давно есть IdSMTP.
luckygluck (2004-07-16 21:14:00) [5]A что с ShellExecute ?
serg128 (2004-07-16 09:55:00) [6]Предлагаю лучшее решение: на MAPI, работает со всеми почтовыми агентами:
#include <vcl.h>
#pragma hdrstop
#include "core.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMapiMessage* MapiMessage;
TMapiRecipDesc* MapiRecipDesc;
TMapiFileDesc* MapiFileDesc;
Cardinal MError;
AnsiString RecipName = "Серега";
AnsiString RecipAddress = "sergp@f1tradenet.com.ua";
AnsiString Subject = "Тема письма";
AnsiString NoteText = "";
AnsiString CurFile2 = "C:\\file.html";
MapiMessage = new TMapiMessage;
MapiRecipDesc = new TMapiRecipDesc;
MapiFileDesc = new TMapiFileDesc;
MapiRecipDesc->ulReserved = 0;
MapiRecipDesc->ulRecipClass = MAPI_TO;
MapiRecipDesc->lpszName = RecipName.c_str();
MapiRecipDesc->lpszAddress = RecipAddress.c_str();
MapiRecipDesc->ulEIDSize = 0;
MapiRecipDesc->lpEntryID = NULL;
MapiFileDesc->ulReserved = 0;
MapiFileDesc->flFlags = 0;
MapiFileDesc->nPosition = 0;
MapiFileDesc->lpszPathName = CurFile2.c_str(); // ИЛИ NULL если файла нету
MapiFileDesc->lpszFileName = NULL;
MapiFileDesc->lpFileType = NULL;
MapiMessage->ulReserved = 0;
MapiMessage->lpszSubject = Subject.c_str();
MapiMessage->lpszNoteText = NoteText.c_str();
MapiMessage->lpszMessageType = NULL;
MapiMessage->lpszDateReceived = NULL;
MapiMessage->lpszConversationID = NULL;
MapiMessage->flFlags = 0;
MapiMessage->lpOriginator = NULL;
MapiMessage->nRecipCount = 1;
MapiMessage->lpRecips = MapiRecipDesc;
MapiMessage->nFileCount = 1;
MapiMessage->lpFiles = MapiFileDesc;
MError = MapiSendMail(0, reinterpret_cast<unsigned int>(Application->Handle),
*MapiMessage, MAPI_DIALOG, 0);
if (MError) ShowMessage("Ошибка");
delete MapiMessage;
delete MapiRecipDesc;
delete MapiFileDesc;
// MAPI_NEW_SESSION - указать вместо MAPI_DIALOG, тогда небудет показываться окно почтовика
}
menart (2004-07-16 09:04:00) [7]Нашел всетаки
procedure TForm1.Button1Click(Sender: TObject);
var
outlook:variant;
letter:variant;
begin
outlook:=CreateOleObject('Outlook.Application');
Letter:=Outlook.CreateItem(olMailItem);
Letter.Recipients.Add('xxx@mail.ru');
Letter.Subject := 'Тема';
Letter.Body := 'Тело';
Letter.Attachments.Add('d:\example.doc');
letter.send;
end;