通过javascript打开Outlook

时间:2009-04-22 11:07:38

标签: javascript activex

有谁知道如何使用Javascript打开Outlook?

我在使用此代码时遇到异常(在IE6中):

var outlookApp = new ActiveXObject("Outlook.Application");

3 个答案:

答案 0 :(得分:14)

你绝对可以这样做,代码如下:

var objO = new ActiveXObject('Outlook.Application');     
var objNS = objO.GetNameSpace('MAPI');     
var mItm = objO.CreateItem(0);     
mItm.Display();     
mItm.To = p_recipient;
mItm.Subject = p_subject;
mItm.Body = p_body;     
mItm.GetInspector.WindowState = 2;

p_recipient,p_subject& p_body是变量,传入。

您需要确保此信息在用户信任的网页上运行,否则会导致异常 也就是说,它需要位于IE的正确区域,并为该区域配置了正确的设置。

答案 1 :(得分:7)

出于非常明显的安全原因,您无法通过JavaScript打开桌面应用程序。您提供的示例使用ActiveX,这是仅在Internet Explorer中可用的专有Microsoft技术。

如果您只想在预填充字段的用户电子邮件客户端中打开邮件撰写,则可以使用mailto:超链接前缀。这允许您指定收件人,主题和正文。例如:

<a href="mailto:me@domain.com?subject=You can specify subject too">

除非您要求专门使用Outlook(我建议您可能需要重新审视您的要求,如果是这种情况),更不希望打开用户设置的默认电子邮件客户端。

答案 2 :(得分:-1)

我似乎记得Outlook注册了自己的URI方案(!),因此您可以从outlook:形式的超链接中非常简单轻松地打开它,如果这真的是您想要做的事情。不幸的是,我不再拥有Outlook的副本,而且我已经尝试了多年,所以我无法验证它是否仍然有效。

编辑补充:嗯!该链接在预览中显示为链接,但在实际发布的答案中不显示。无论如何,这里有一些HTML代码来阐明我的意思:

<a href="outlook:">Click here to launch Microsoft Outlook</a>