скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Отправить Email с вложением для Outlook Express



Оформил: DeeCo

{ 
  Shellexecute(Handle,'open','mailto:aaaa@bbb.com?subject&body=body 
  text&CC=aaaa&bcc=dddd&attach=FileName',nil,nil,SW_SHOW) 
  only works with outlook, not for outlook express, 
  but the method below can send attachment to outlook express 
}

 uses
   ComObj;

 procedure SendMail(Subject, Body, RecvAddress : string; Attachs : array of string);
 var
   MM, MS : Variant;
   i : integer;
 begin
   MS := CreateOleObject('MSMAPI.MAPISession');
   try
     MM := CreateOleObject('MSMAPI.MAPIMessages');
     try
       MS.DownLoadMail := False;
       MS.NewSession := False;
       MS.LogonUI := True;
       MS.SignOn;
       MM.SessionID := MS.SessionID;

       MM.Compose;

       MM.RecipIndex := 0;
       MM.RecipAddress := RecvAddress;
       MM.MsgSubject := Subject;
       MM.MsgNoteText := Body;

       for i := Low(Attachs) to High(Attachs) do
       begin
         MM.AttachmentIndex := i;
         MM.AttachmentPathName := Attachs[i];
       end;
       MM.Send(True);
       MS.SignOff;
     finally
       VarClear(MS);
     end;
   finally
     VarClear(MM);
   end;
 end;

 procedure TForm1.FormCreate(Sender : TObject);
 begin
   SendMail('Subject', 'Body'#13#10'Second'  , 'BillGates@Microsoft.com',
     ['C:\Winnt\explorer.exe', 'C:\winnt\win.ini']);
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook