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

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

Не удается создать новое сообщение в Outlook Express [D5, Win2k]


HotSpot ©   (2005-05-23 09:12:00) 

Пытаюсь отправить Email с вложением для Outlook Express так, как здесь http://delphiworld.narod.ru/base/mail_outl_expr.html.
OE запущен (хотя, если он не запущен, дело не меняется).
На строке "MS.SignOn;" возникает ошибка:
Project Project1 raised exception class EOleException with message 'Unspecifies failure has occured'.
Причем, при запущенном TheBat все работает нормально. На других компьютерах выдается та же ошибка (там TheBat не установлен).
В чем проблема?


guest_Dmitry   (2005-05-23 10:22:00) [1]

ОС - WinXP sp1, Delphi 5.0 Enterprice, OE 6.0.
Проверял на Win98, OE 5.0.


HotSpot   (2005-05-23 10:18:00) [2]

У меня такой же вариант не работает. guest_Dmitry, какая у тебя ОС, версия Delphi и OE ?


guest_Dmitry   (2005-05-23 10:01:00) [3]

У меня вот такой вариант работает:


procedure TfrDetails.SendM(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(false);
      MS.SignOff;
    finally
      VarClear(MS);
    end;
  finally
    VarClear(MM);
  end;
end;


Наверх

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