Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизMapi Найти похожие ветки
← →
Dup (2002-01-23 15:50) [0]Почему Mapi не работает на компьютере где нет Delphi
может библиотеки какие нужны?
← →
Digitman (2002-01-24 14:14) [1]На основании чего ты утверждаешь о неработоспособности MAPI ?
← →
Dup (2002-01-24 14:54) [2]простая программа считывает параметры из файла и открывает
Outlook с заполненными полями. Но на другом компьютере Outlook
не запускается
← →
Digitman (2002-01-24 15:26) [3]так первое, что приходит на ум (если у тебя взаимодействие с Outlook должно осуществляться как с OLE/Com-сервером) - а зарегистрирован ли корректно сей сервер на проблемной машине ?
И , если не запускается, какова строчка запуска ? Каковы параметры запуска ? Каково сообщение об ошибке ?
← →
Dup (2002-01-24 15:40) [4]как узнать про регистрацию?
запускается без параметров
сообщений об ошибке не выводится вообще
ничего не происходит
← →
Digitman (2002-01-24 16:42) [5]ок. приводи фрагменты кода.
на разных языках говорим с тобой.
мне ничего пока не понятно. тем более - о связи проблемы c загрузкой/выполнением Outlook и MAPI
← →
nikkie (2002-01-24 16:44) [6]насколько мне помнится, для работы Mapi нужен именно Outlook (не Express) и ничего тут не поделаешь.
← →
Dup (2002-01-24 16:48) [7]
function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;
i: integer;
s: string;
begin
with MapiRecipDesc do
begin
ulReserved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
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_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS;
end;
begin
assign(f,"param.txt");
reset(f);
readln(f,s1);
readln(f,s2);
readln(f,s3);
sendemail(s1,"",s2,s3);
end.
только мне кажется код здесь ни при чем
← →
Digitman (2002-01-24 18:31) [8]>nikkie
Я, честно сказать, не занимался этим, но, если речь автора идет о MAPI-спецификации как таковой (как она декларирована в MSDN), то скажи тогда, где хоть одно упоминание есть в Win32 API Help об каком-то там Outlook ?
>Dup
Где в твоем фрагменте хоть какое-то упоминание о явном использовании Outlook ? Где и кем сказано, что MapiSendMail() как-то связан с Outlook ? Где анализ результата выполнения вызова MapiSendMail() ?
← →
nikkie (2002-01-25 09:36) [9]я тоже не занимался, просто осталось в голове какое-то воспоминание о прочитанных обсуждениях...
ты прав, MAPI - просто спецификация, но для того, чтобы на самом деле послать почту, необходим почтовый клиент, эту MAPI реализующий. так дело видимо в том, что Outlook реализует MAPI, а Outlook Express - нет.
в подтверждение этому нашел вот такую ссылочку
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257824
← →
Digitman (2002-01-25 13:47) [10]Здесь дело не в Outlook или OE. Дело в наличии в системе (и соответственно - регистрационных записей в реестре) фабрики класса, реализующего интерфейс IMAPISession (имеющий предопределенный GUID). Таковой может быть и Outlook и любые другие серверы. Конечно же, если в системе нет ни одного сервера, фабрика которого способна создать объект с таким интерфейсом, вызовы MAPI выполняться не будут. И это очень легко проверить, проанализировав результат того же авторского MapiSendMail(), он, скорее всего = MAPI_E_FAILURE, потому что ни один MAPI-сервер в системе не установлен и не зарегистрирован.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c