Outlook Email via a Webpage

2019-07-23 10:13发布

问题:

I have a web application developed with ASP.net and C# that is running on my companies' intranet. Because all the users for this application are all using Microsoft Outlook without exception, I would like for the the application to open up an Outlook message on the client-side. I understand that Office is designed to be run on the desktop and not from a server, however I have no trouble creating a Word or Excel document on the client-side.

I have code that instantiates the Outlook object using the Microsoft.Office.Interop.Outlook namespace and Outlook installed on the server. When I try to run the code from the server, I get a DCOM source error message that states "The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID {000C101C-0000-0000-C000-000000000046} to the user This security permission can be modified using the Component Services administrative tool." I have modified the permissions using the Component Services tool, but still get this same error.

Is there a way to overcome this or is this a fruitless exercise because Outlook cannot be opened on the client side from the server-side code?

Mailto will not work due to the extreme length that the emails can obtain. Also, the user that sends it needs add in eye-candy to the text for the recipients.

回答1:

You cannot open something on the client from server side code. You'd have to use script on the page to do what you're wanting (or something else client-side like ActiveX or embedded .NET or something)

Here's a sample Javascript that invokes an Outlook MailItem from an webpage. This could easily be injected into the page from your server-side code so it executes on the client.

http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx



回答2:

(hint: formatting in your question)

I'm not understanding what's wrong with a mailto link or a formmail-type page.



回答3:

If everyone in the company uses Outlook, then just using a standard "mailto" link should always open Outlook. It sounds like you're over-engineering this.



回答4:

Do you want to open an existing E-Mail or create a new one?

Perhaps I misunderstand your question, but you can provide a link like

mailto:recipient@email.tld?subject=This%20is%20the%20subject&body=Hello%20there!

When the user clicks on that a link, a new Outlook-E-Mail will be opened and the recipient is recipient@email-tld, the subject is "This is the subject" and the body is "Hello there!". All these fields are already filled from the link.



回答5:

I'll just throw this out there cuz it's been asked.

Mailto has a lot of disadvantages; mainly size. Since the sender needs to do alot of formatting on the email text, the html code generated can take up a lot of space that fails when using mailto.

thanks for the suggestion though.