Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

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

Delphi , Интернет и Сети , Почтовый клиент

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

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  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;

Перевод контента на русский язык:

Это программное обеспечение Delphi, отправляющее электронную почту с вложениями с помощью Outlook Express. Код использует компонент MSMAPI (Microsoft Messaging API) для взаимодействия с Outlook Express.

Процедура SendMail принимает четыре параметра:

  • Subject: тема электронной почты
  • Body: текст электронной почты
  • RecvAddress: адрес получателя электронной почты
  • Attachs: массив строк, представляющих пути к файлам вложений

Процедура использует объекты MSMAPI.MAPISession и MSMAPI.MAPIMessages для создания нового сообщения электронной почты, настройки его свойств (тема, текст, адрес получателя), добавления вложений и отправки.

В обработчике события FormCreate создается экземпляр формы и вызывается процедура SendMail с примерными значениями для темы, текста, адреса получателя электронной почты и путей к файлам вложений.

Некоторые примечания о коде:

  1. Код использует unit ComObj для создания объектов COM.
  2. Функция CreateOleObject создает новый экземпляр указанного объекта COM.
  3. Объект MSMAPI.MAPISession представляет сессию Outlook Express, а его методы используются для взаимодействия с клиентом электронной почты.
  4. Объект MSMAPI.MAPIMessages представляет коллекцию сообщений электронной почты, а его методы используются для создания нового сообщения электронной почты и отправки.

Вот альтернативное решение, использующее компонент Adem (доступен в Component palette Delphi) для отправки электронных писем с вложениями:

uses
  Adem;

procedure TForm1.SendMail(Subject, Body, RecvAddress: string; Attachs: array of string);
var
  Mail: TMail;
begin
  Mail := TMail.Create(nil);
  try
    Mail.From := 'Ваш адрес электронной почты';
    Mail.To := RecvAddress;
    Mail.Subject := Subject;
    Mail.Body := Body;
    for i := Low(Attachs) to High(Attachs) do
      Mail.AddAttachment(Attachs[i]);
    Mail.Send;
  finally
    FreeAndNil(Mail);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SendMail('Тема', 'Текст'#13#10'Второй текст', 'BillGates@Microsoft.com',
            ['C:\Winnt\explorer.exe', 'C:\winnt\win.ini']);
end;

Код использует компонент Adem для создания нового сообщения электронной почты, настройки его свойств (отправитель, получатель, тема, текст), добавления вложений и отправки. Метод AddAttachment используется для добавления пути к файлу вложения в сообщение электронной почты.

Обратите внимание, что это альтернативное решение не использует объекты COM или взаимодействует с Outlook Express напрямую, что делает его более платформо-независимым и проще для обслуживания.

Отправка электронной почты с вложением для Outlook Express с помощью DELPHI и компонента COM.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Почтовый клиент ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 14:19:47/0.0055630207061768/1