2017-04-20 4 views
0

Je voulais envoyer des courriels avec des pièces jointes de notes de lotus.envoyer un courriel à partir de notes de lotus avec pièce jointe en utilisant asp.net C#

J'ai essayé ci-dessous le code, il affiche l'erreur:

Erreur:

An exception of type 'System.Runtime.InteropServices.COMException' occurred in App_Web_sendemail.aspx.cdcab7d2.s2ysjl2c.dll but was not handled in user code 

Additional information: Database open failed (xx.xxx.xxx.xxx!!names.nsf) 

code:

Domino.NotesSession nSession = new Domino.NotesSession(); 
     nSession.Initialize("bbau0862"); //Password 

     Domino.NotesDatabase nDatabase = 
    nSession.GetDatabase("xx.xxx.xxx.xxx", "names.nsf"); 

     //If the database is not already open then open it. 
     if (!nDatabase.IsOpen) 
     { 
      nDatabase.Open(); 
     } 

     Domino.NotesDocument nDocument = nDatabase.CreateDocument(); 
     /*create string variable that will be passed to function. This way we setup To field value*/ 
     string[] recipients = 
      {"[email protected]", "[email protected]"}; 

     //setup Form 
     nDocument.ReplaceItemValue("Form", "Memo"); 
     nDocument.ReplaceItemValue("SentTo", recipients); //To field 
     nDocument.ReplaceItemValue("Subject", "Message subject"); //message subject 
     nDocument.ReplaceItemValue("Body", "Something in the message body"); //set body text 
     nDocument.SaveMessageOnSend = true; //save message after it's sent 
     nDocument.Send(false, recipients); //send 

s'il vous plaît me dire comment envoyer Lotus Notes email avec pièces jointes en asp .net.

Merci.

Répondre

-1

il m'est arrivé je reçois cette erreur avec Domino en utilisant C# ou powershell. Je pense que vous essayez d'utiliser un composant COM domino 32 bits (64 bits n'existe pas pour le client domino) dans une application 64 bits. cela signifie que le composant domino fonctionnera dans une console * 86 powershell lorsqu'il lancera cette erreur dans une console PowerShell 64 bits.

J'ai peur de recompiler le projet pour * 86!

vue ici pour plus de détails: Is a COMException of 0x80040154 always 'Class not registered'?

donc je vous orienter dans mon expérience en utilisant COM domino est très bugy mieux vous avez votre équipe de domino faire un webservice d'informations utilisateur. En utilisant domino par exemple forcer tout fonctionne comme x86. et dans une application côté client, le COM tombera en panne lors de toute erreur d'erreur involontaire C# dans le même temps que le client note Lotus de vos utilisateurs (BOSS?).

+1

Ce n'est pas l'erreur Il a obtenu "Database open failed (xx.xxx.xxx.xxx !! names.nsf)".Le code n'aurait jamais été aussi loin s'il n'avait pas réussi à charger la classe. –

2

Votre code n'a pas réussi à ouvrir la base de données 'names.nsf'. Avant de vous demander comment envoyer un courrier électronique avec des pièces jointes, vous devez déterminer pourquoi votre code n'a pas réussi à ouvrir la base de données. Voici quelques explications possibles: vous n'avez pas réussi à vous connecter au serveur, vous n'avez pas accès au serveur ou vous n'avez pas accès à la base de données. Vous devez vérifier toutes ces choses.

Quel code IBM Lotus est installé sur la machine sur laquelle votre code est en cours d'exécution? Le code client Notes est-il installé ou le code du serveur Domino est-il installé? L'un ou l'autre doit l'être, et s'il s'agit du code du serveur, il doit s'agir de la version 32 bits car IBM ne prend pas en charge les classes COM 64 bits pour Domino.

Vous devez vérifier si le code peut se connecter au serveur 'xx.xxx.xxx.xxx'. Le client et le serveur disposent tous deux de fonctions de suivi que vous pouvez utiliser pour vérifier cela. Voir help for client trace) ou help for server trace.

Vous devez également vérifier si l'ID utilisateur actuel (celui qui correspond au mot de passe "bbau0862" que vous transmettez à la méthode Initialize() et qui doit correspondre à l'ID en cours - indiqué par le nom de fichier clé ou serverkeyfilename les entrées du fichier notes.ini du client Notes ou de l'installation du serveur Domino sur le - ont accès au serveur 'xx.xxx.xxx.xxx' et à la base de données 'names.nsf' (s'il a accès au serveur, il devrait avoir accès à names.nsf, mais si c'est une sorte d'identifiant 'spécial' qui vous a été donné spécifiquement pour votre application, vous devriez vraiment vérifier ces deux aspects. Cet ID