通过javascript打开Outlook

IT技术 javascript activex
2021-03-13 09:39:46

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

使用此代码时出现异常(在 IE6 中):

var outlookApp = new ActiveXObject("Outlook.Application");
3个回答

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

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 中的正确区域中,并为该区域配置正确的设置。

有没有办法通过javascript打开Outlook收件箱而无需打开发送新邮件的窗口?
2021-04-22 09:39:46
始终牢记 -> ActiveXObject 仅适用于 IE。如果您需要在 chrome 中,您需要在 chrome 中安装 IE 选项卡扩展
2021-05-10 09:39:46
是的。你能行的。获取收件箱 var test = objNS.GetDefaultFolder(5);
2021-05-16 09:39:46

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

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

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

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

我不只是假设,我说它可以用 ActiveX 完成,但使用标准 mailto: 是一个更好的主意,它是 IMO。
2021-04-25 09:39:46
你为什么想这么做?
2021-05-03 09:39:46
mailto 有局限性,比如不能使用 html 格式化电子邮件正文。不能添加附件等。
2021-05-04 09:39:46
嗨 Rory,我试过 <a href="mailto:... 但我无法通过它发送 HTML 元素。让我们说一个链接(<a>)?有什么想法吗?
2021-05-14 09:39:46
好吧,您可以使用 JavaScript 打开桌面应用程序,使用仅限 IE 的 ActiveX 功能,以及一些宽松的安全设置。假设他没有使用这种方法的充分理由并没有多大帮助。
2021-05-20 09:39:46

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

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

<a href="outlook:">Click here to launch Microsoft Outlook</a>
也不在 IE 中工作。可能 <a href="outlook:"> 不适用于 Outlook 2007。
2021-04-30 09:39:46
我刚刚测试过,这在 Firefox 中不起作用,没有尝试 IE。
2021-05-18 09:39:46