8

我想将 Outlook Web App 嵌入我的网站。直接在我的网站页面上显示日历、邮件、人员屏幕。我试图通过 iFrame 来做,但这是被禁止的。有可能吗?

4

2 回答 2

2

与普遍看法相反,这是可以实现的。

我的博文( http://blog.degree.no/2013/06/owa-in-iframe-yes-its-possible/ )中有更多详细信息,但这是所需的代码。如果您在“轻量模式”(标志 = 1)下运行它,则问题较少并且它可以跨域运行,但是如果您在同一个域中运行它(例如,在 yourdomain.com 上运行的网站并且您的交换服务器在邮件上运行。 yourdomain.com)它也适用于“完整模式”(标志 = 0):

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>

<script>
    function LoginToOWA(server, domain, username, password) {


        var url = "https://" + server + "/owa/auth/owaauth.dll";
        // flags 0 = full version, flags 1 = light weight mode
        var p = { destination: 'https://' + server + '/exchange', flags: '1', forcedownlevel: '0', trusted: '0', isutf8: '1', username: domain + '\\' + username, password: password };


        var myForm = document.createElement("form");
        myForm.method = "post";
        myForm.action = url;

        for (var k in p) {

            var myInput = document.createElement("input");
            myInput.setAttribute("name", k);
            myInput.setAttribute("value", p[k]);
            myForm.appendChild(myInput);
        }


        document.body.appendChild(myForm);
        myForm.submit();
        document.body.removeChild(myForm);
    }
</script>


<body onload="javascript:LoginToOWA('mail.someserver.com','yourdomain','yourusername@someserver.com','yourpassword');">
    <img src="../../gfx/loadingAnim.gif" /> Please wait while your inbox is loading... 
</body>
</html>
于 2013-07-14T23:57:42.757 回答
0

您使用的是哪个版本的 OWA?我以前在 OWA-2003 上为我们公司的 Intranet 做过这个。只需将您的 iframe 指向 webpart url,如下所示:

http://server/exchange/user/inbox/?cmd=contents&view=Two-Line%20View&theme=4

这仅在您的主网站使用 Windows 集成身份验证时才有效。您必须使用 ASP.Net 服务器端代码将“用户”替换为登录的用户名。

在 MS 知识库文章中搜索 Webpart 参数。您可以显示收件箱、日历等。

于 2013-07-04T15:29:17.340 回答