Delphi: MAPILOGON ErrorCode 1

Я пробовал со многими версиями MAPISend, но я каждый раз получал ошибку в одном месте. MAPILogon возвращается с кодом ошибки 1.

dwRet := MapiLogon(Handle,
nil,
nil,
 MAPI_DIALOG or MAPI_NEW_SESSION,
0, @MAPI_Session);

Я пытался с "MAPISend компонент", этот код:

http://prog.hu/tudastar/60044-6/Delphi-Email+csatolt+file+thunderbird.html

и 2 других.

Интересно, что Acrobat Reader МОЖЕТ использовать MAPI с функцией "Присоединить к электронной почте", а также работает контекстное меню "Отправить" "В почте".

Я не понимаю, почему он не работает, на моей машине (Win7) он работает нормально.

Тогда машины, на которых я потерпел неудачу, имели ОС WinXP, и они использовали Thunderbird.

Что я могу сделать, чтобы успешно войти в MAPI?

Спасибо: дд

4 ответа

Решение

Я думаю, что нашел проблему. Проблема в том, что Delphi требуется значение реестра с именем MAPI в разделе "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem". Если его нет, он посылает вам 1 код ошибки, что является причиной этой путаницы.

Это значение должно быть строкой. Сисадмин написал DWORD, и это вызвало проблему.

Спасибо за вашу помощь: dd

Я использую компоненты RapWare, http://www.rapware.nl/

Hth годов.

Станко.

Я обнаружил, что вам также может потребоваться добавить строковое значение MAPI, равное 1, в двух местах:

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Подсистема обмена сообщениями Windows
  2. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Подсистема обмена сообщениями Windows

Последний для 32-битных приложений, работающих в 64-битной Windows:

Мне это не нужно было для использования инструментов Jedi SendMail в D2007, но оно было нужно для использования SendMail LMDTool в Delphi 10+ (вероятно, даже для Delphi XE и более поздних версий, я полагаю).

Я не уверен ни в каких специфических для Delphi проблемах, но вам не нужно вызывать MAPILogon перед вызовом MAPISendMail. Если вы это сделаете, я бы не проверял возвращаемое значение. Вот почему Acrobat Reader работал, а ваш клиент SMAPI - нет.

Другие вопросы по тегам