opening Outlook through javascript

前端 未结 3 1572
遇见更好的自我
遇见更好的自我 2020-11-30 15:17

Does anyone know how to open Outlook using Javascript?

I am getting an exception (in IE6) while using this code:

var outlookApp = new ActiveXObject(\         


        
相关标签:
3条回答
  • 2020-11-30 15:56

    You cannot open desktop applications through JavaScript for very obvious security reasons. The example you gave uses ActiveX which is a proprietary Microsoft technology only available in Internet Explorer.

    If you simply want to open a message composition in a users email client with fields pre-filled, you can use the mailto: hyperlink prefix. This allows you to specify recipients, subject and body. Example:

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

    Unless you have a requirement to specifically use Outlook (and I'd suggest you may want to revisit your requirements if that's the case), it is far more desirable to open whatever the default email client the user has set.

    0 讨论(0)
  • 2020-11-30 15:58

    I seem to recall that Outlook registers its own URI scheme (!), so you can actually open it very simply and easily from a hyperlink of the form outlook:, if that's really what you want to do. Unfortunately I don't own a copy of Outlook anymore, and it's been years since I've tried this, so I'm unable to verify that it still works.

    Edited to add: Well! The link shows up as a link in the preview, but not in the actual posted answer. In any case, here is some HTML code to clarify my meaning:

    <a href="outlook:">Click here to launch Microsoft Outlook</a>
    
    0 讨论(0)
  • 2020-11-30 16:19

    You can definitely do this, the code looks like:

    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 being variables, passed in.

    You need to ensure this is running on a webpage which users trust, as this will cause exceptions otherwise.
    That is it needs to be in the right zone in IE, with the right settings configured for that zone.

    0 讨论(0)
提交回复
热议问题