2008-09-04 5 views
2

J'ai une application Web développée avec ASP.net et C# qui fonctionne sur l'intranet de mes entreprises. Parce que tous les utilisateurs de cette application utilisent tous Microsoft Outlook sans exception, je voudrais pour l'application d'ouvrir un message Outlook sur le côté client. Je comprends que Office est conçu pour être exécuté sur le bureau et non sur un serveur, mais je n'ai aucun problème à créer un document Word ou Excel côté client.Outlook Courriel via une page Web

J'ai du code qui instancie l'objet Outlook en utilisant l'espace de noms Microsoft.Office.Interop.Outlook et Outlook installé sur le serveur. Lorsque j'essaie d'exécuter le code à partir du serveur, j'obtiens un message d'erreur source DCOM qui indique "Les paramètres d'autorisation par défaut de l'ordinateur n'accordent pas l'autorisation Local Activation pour l'application serveur COM avec CLSID {000C101C-0000-0000-C000-000000000046 } à l'utilisateur Cette autorisation de sécurité peut être modifiée à l'aide de l'outil d'administration Services de composants. " J'ai modifié les autorisations à l'aide de l'outil Services de composants, mais toujours la même erreur.

Existe-t-il un moyen de surmonter cela ou est-ce un exercice infructueux, car Outlook ne peut pas être ouvert du côté client à partir du code côté serveur? Mailto ne fonctionnera pas en raison de la longueur extrême que les e-mails peuvent obtenir. En outre, l'utilisateur qui l'envoie a besoin d'ajouter des éléments visuels au texte pour les destinataires.

Répondre

6

Vous ne pouvez pas ouvrir quelque chose sur le client à partir du code côté serveur. Vous devez utiliser le script sur la page pour faire ce que vous voulez (ou quelque chose d'autre côté client comme ActiveX ou .NET ou quelque chose)

Voici un exemple de Javascript qui appelle un Outlook MailItem d'une page Web. Cela pourrait facilement être injecté dans la page à partir de votre code côté serveur afin qu'il s'exécute sur le client.

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

2

(indice: mise en forme dans votre question)

Je ne comprends pas ce qui ne va pas avec un lien mailto ou une page de type formmail.

+0

pas de formatage de gibier !!! Désolé pour ça. – Keng

1

Si tout le monde dans l'entreprise utilise Outlook, il suffit d'utiliser un lien "mailto" standard pour toujours ouvrir Outlook. On dirait que vous sur-gérez cela.

1

Voulez-vous ouvrir un courriel existant ou en créer un nouveau?

Peut-être que j'ai mal compris votre question, mais vous pouvez fournir un lien comme

mailto: [email protected] subject = Cette% 20is% 20Le% 20subject & body = Bonjour% 20there! Lorsque l'utilisateur clique sur ce lien, un nouveau Outlook-E-Mail sera ouvert et le destinataire est destinataire @ email-tld, le sujet est "Ceci est le sujet" et le corps est "Bonjour! ". Tous ces champs sont déjà remplis à partir du lien.

1

Je vais jeter ça là-bas parce que ça a été demandé.

Mailto a beaucoup d'inconvénients; principalement taille. Étant donné que l'expéditeur doit faire beaucoup de mise en forme sur le texte de l'e-mail, le code html généré peut prendre beaucoup d'espace qui échoue lors de l'utilisation de mailto.

merci pour la suggestion cependant.

+0

Pouvez-vous clarifier cela (éventuellement dans la question elle-même)? Je ne comprends pas pourquoi un lien mailto: devrait occuper plus d'espace que tout le reste. Le corps du mail est-il complètement généré automatiquement? –

+0

@Oliver Giesen, ce n'est pas que mailto "prend trop de place". Mailto a certaines limitations de longueur, si votre message est trop long, il sera tronqué. –

Questions connexes