0

我尝试了许多版本的 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 OS,他们使用Thunderbird。

怎样才能成功登录 MAPI?

谢谢:dd

4

3 回答 3

3

我想我找到了问题所在。问题是,Delphi 在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem”下需要一个名为 MAPI 的注册表值,如果这不存在,它会向您发送 1 个错误代码,这是混淆的基础。

该值必须是字符串。系统管理员写了 DWORD,这导致了问题。

感谢您的帮助:dd

于 2010-09-07T08:14:26.480 回答
1

我正在使用 RapWare 组件,http: //www.rapware.nl/

嗯。

斯坦科。

于 2010-09-06T13:57:05.037 回答
0

我不确定是否有任何特定于 Delphi 的问题,但您无需在调用 MAPISendMail 之前调用 MAPILogon。如果你这样做,我不会检查返回值。这就是 Acrobat Reader 正常工作而您的 SMAPI 客户端不工作的原因。

于 2010-09-15T14:54:52.213 回答