Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Outlook & Delphi   Найти похожие ветки 

 
menart ©   (2004-07-16 08:37) [0]

Как с помошью Ole команд создать и отправить сообщение?
негде не могу найти ...
мне надо создать и отправить через Exschange Server
какие объекты надо создовать и как отправить?


 
menart ©   (2004-07-16 09:04) [1]

Нашел всетаки

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;


 
serg128   (2004-07-16 09:55) [2]

Предлагаю лучшее решение: на 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, тогда небудет показываться окно почтовика
}


 
luckygluck   (2004-07-16 21:14) [3]

A что с ShellExecute ?


 
Евкисий ©   (2004-07-19 10:19) [4]

Через OLE получается работать только с MS Outlok"ом, но не c Outlook Express.
Используя MAPI дествительно можно не привязываться к клиенту, но зачем так заморачиваться когда в Indy давно есть IdSMTP.


 
menart ©   (2004-07-19 17:05) [5]

если в политиках безопасности отключено SMTP


 
menart ©   (2004-07-20 18:28) [6]


> luckygluck   (16.07.04 21:14) [3]
> A что с ShellExecute ?


надо самому нажимать кнопочку отправить, а надо что бы программа болталась на серваке и ты мог туда месяцами не заглядывать пока приходит почта


 
Maksym   (2005-01-27 19:09) [7]

А как нибудь можно сделать копию папки "входящие" в Mozilla Thunderbird?очень серьезная проблема ..как ее решитЬ?спасибо заранее тем кто знает..



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.043 c
14-1129705139
WondeRu
2005-10-19 10:58
2005.11.06
Идиотские баги известных программ...


3-1127551148
Виталька2005
2005-09-24 12:39
2005.11.06
Paradox и сетевой доступ


1-1129707692
kyn66
2005-10-19 11:41
2005.11.06
Почему FindComponent не находит


2-1129050240
Fasd
2005-10-11 21:04
2005.11.06
Как проверить наличие записи с помощью SQL-запроса?


2-1129364731
Vital
2005-10-15 12:25
2005.11.06
не используя OnPaint





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский