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

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

MAPI - Где закопана собака??? :( [D7, Win95/98]


SkyKiller ©   (2003-02-27 17:17:00) 

Здравствуйте, братья! Помогите решить проблему. У меня в программе при нажатии на кнопку должно создаваться почтовое сообщение и открываться окно почтовика с уже готовым сообщением. Однако, после прочтения кучи форумов и вставки следующего кода:

function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var
MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;

begin
with MapiRecipDesc do begin
ulReserved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
lpszAddress:= PChar(RecipAddress);
ulEIDSize:= 0;
lpEntryID:= nil;
end;
with MapiFileDesc do begin
ulReserved:= 0;
flFlags:= 0;
nPosition:= 0;
lpszPathName:= PChar(Attachment);
lpszFileName:= nil;
lpFileType:= nil;
end;
with MapiMessage do begin
ulReserved := 0;
lpszSubject := nil;
lpszNoteText := PChar(Subject);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := @MapiRecipDesc;
if length(Attachment) > 0 then begin
nFileCount:= 1;
lpFiles := @MapiFileDesc;
end else begin
nFileCount:= 0;
lpFiles:= nil;
end;
end;
Result:= MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG or MAPI_NEW_SESSION, 0)=SUCCESS_SUCCESS;
end;


не происходит ровным счетом ничего (естественно, я вызываю эту функцию с нужными параметрами из главной программы). Повторюсь, что должно открыться только окно почтовика с готовым сообщением (но без отправки). Вот на строке "Result:=Mapi........" она у меня и затыкается. Не происходит ничего.
В чем проблема?
С MAPI раньше не работал, так что извините за ламерский вопрос. Буду благодарен за любой ответ на skykiller@mail.ru


AGGRESSOR   (2003-02-28 13:01:00) [1]

Не знаю, у меня все работает (хотя у меня собственный клиент, я не думаю, что есть разница). И файл тоже можно присоединить, насколько я помню. А вот про 255 символов - это да :(


SkyKiller   (2003-02-28 10:40:00) [2]

2AGRESSOR:
В ШеллЭкзекуте не приаттачишь файл... А тело сообщениея не дает делать больше 255 символов... :(

И, кстати, если почтовик закрыт (у меня БАТ), то при выполнении ШеллЭкзекуте не происходит ничего, а если открыт (запущен )- сообщение создаётся... :( В чём глюк?


AGGRESSOR   (2003-02-27 18:44:00) [3]

Чтобы открылось окно почтовика, но без отправки, ИМХО надо использовать ShellExecute aaa@aaaa с параметрами в виде "кому", тема и текст сообщения.


Наверх

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