Domanda

Ho un'applicazione Web sviluppata con ASP.net e C# in esecuzione sull'intranet della mia azienda.Poiché tutti gli utenti di questa applicazione utilizzano Microsoft Outlook senza eccezioni, vorrei che l'applicazione aprisse un messaggio di Outlook sul lato client. Capisco che Office è progettato per essere eseguito sul desktop e non da un server, tuttavia non ho problemi a creare un documento Word o Excel sul lato client.

Ho un codice che crea un'istanza dell'oggetto Outlook utilizzando lo spazio dei nomi Microsoft.Office.Interop.Outlook e Outlook installato sul server.Quando provo a eseguire il codice dal server, ricevo un messaggio di errore di origine DCOM che afferma "le impostazioni dell'autorizzazione della macchina da default non concedono l'autorizzazione di attivazione locale per l'applicazione COM Server con CLSID {000C101C-0000-0000-C000-0000000046 } Per l'utente Questa autorizzazione di sicurezza può essere modificata utilizzando lo strumento amministrativo dei servizi componenti. " Ho modificato le autorizzazioni utilizzando lo strumento Servizi componenti, ma ottengo comunque lo stesso errore.

Esiste un modo per superare questo problema o è un esercizio infruttuoso perché Outlook non può essere aperto sul lato client dal codice lato server?

Mailto non funzionerà a causa della lunghezza estrema che le email possono ottenere.Inoltre, l'utente che lo invia deve aggiungere un tocco di bellezza al testo per i destinatari.

È stato utile?

Soluzione

Non è possibile aprire qualcosa sul client dal codice lato server.Dovresti utilizzare lo script sulla pagina per fare ciò che desideri (o qualcos'altro sul lato client come ActiveX o .NET incorporato o qualcosa del genere)

Ecco un Javascript di esempio che richiama un MailItem di Outlook da una pagina Web.Questo potrebbe essere facilmente inserito nella pagina dal codice lato server in modo che venga eseguito sul client.

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

Altri suggerimenti

(suggerimento:formattazione nella tua domanda)

Non capisco cosa c'è che non va in un collegamento mailto o in una pagina di tipo formmail.

Se tutti in azienda utilizzano Outlook, è sufficiente utilizzare un collegamento "mailto" standard per aprire sempre Outlook.Sembra che tu stia esagerando con l'ingegneria.

Vuoi aprire un messaggio di posta esistente o crearne uno nuovo?

Forse ho frainteso la tua domanda, ma puoi fornire un link come

mailto:recipient@email.tld?subject=Questo%20è%20il%20subject&body=Ciao%20lì!

Quando l'utente fa clic su un collegamento, verrà aperto un nuovo messaggio di posta elettronica di Outlook e il destinatario è recipient@email-tld, l'oggetto è "Questo è l'oggetto" e il corpo è "Ciao!".Tutti questi campi sono già compilati dal collegamento.

Lo butto lì perché è stato chiesto.

Mailto presenta molti svantaggi;principalmente la dimensione.Poiché il mittente deve eseguire molte formattazioni sul testo dell'e-mail, il codice html generato può occupare molto spazio e non riesce quando si utilizza mailto.

grazie per il suggerimento comunque.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top