Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо