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

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

Подскажите, а как добавить вложение к письму стандарного mail аге [D7, WinXP]


antoxa2005 ©   (2008-06-14 05:02:00) 

Как запустить почтового агента, установленного по умолчанию, понятно
ShellExecute(0, nil,'mailto:delphi@mastak.com',nil,nil,1);

а как, при этом, добавить вложения???

Нигде не нашел... Помогите, если кто знает...


  (2008-06-24 02:33:00) [1]

Удалено модератором


Anatoly Podgoretsky   (2008-06-14 12:42:00) [2]

> antoxa2005  (14.06.2008 5:02:00)  [0]

Протокол mailto: этого не поддерживает. Используй SimpleMapi


alexm_hs_   (2008-06-14 12:38:00) [3]


Function SendMail(Address : PChar; Subj :PChar; Body : PChar; FileAttach : PChar; OpenDialog : boolean) : boolean;
var
  MapiMess :TMapiMessage;
  MapiTo   :TMapiRecipDesc;
  Attach   :TMapiFileDesc;

begin
   result := false;
   Attach.ulReserved := 0;
   Attach.flFlags := MAPI_OLE_STATIC;
   Attach.nPosition := 1;
   Attach.lpszPathName := FileAttach;
   Attach.lpszFileName := nil;
   Attach.lpFileType := nil;

   MapiTo.ulRecipClass := MAPI_TO;
   MapiTo.lpszName := Address;
   MapiTo.lpszAddress  := nil;
   MapiTo.ulEIDSize := 0;
   MapiTo.lpEntryID := nil;

   MapiMess.ulReserved := 0;
   MapiMess.lpszSubject := Subj;
   MapiMess.lpszNoteText := body;
   MapiMess.lpszMessageType := nil;
   MapiMess.lpszDateReceived := nil;
   MapiMess.lpszDateReceived := nil;
   MapiMess.lpszConversationID := nil;
   MapiMess.flFlags := 0;
   MapiMess.lpOriginator := nil;
   MapiMess.nRecipCount := 1;
   MapiMess.lpRecips := @MapiTo;
   MapiMess.nFileCount := 1;
   MapiMess.lpFiles := @Attach;
  if OpenDialog then begin
   if MapiSendMail(0,0,MapiMess,MAPI_DIALOG,0) = 0 then result := true;
  end else
   if MapiSendMail(0,0,MapiMess,0,0) = 0 then result := true;

end;


Наверх

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