簡體   English   中英

使用asp.net C#從Lotus Notes發送帶有附件的電子郵件

[英]send Email from lotus notes with attachment using asp.net c#

我想從蓮花筆記中發送帶有附件的電子郵件。

我嘗試下面的代碼,它顯示錯誤:

錯誤:

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)

碼:

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 =
          {"abc@gmail.com", "xyz@gmail.com"};

        //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

請告訴我如何在asp.net中發送帶有附件的Lotus Notes電子郵件。

謝謝。

您的代碼無法打開數據庫“ names.nsf”。 在詢問如何發送帶有附件的電子郵件之前,需要弄清楚為什么代碼無法打開數據庫。

對此的一些可能解釋是:您無法連接到服務器,您無權訪問服務器,或者您無權訪問數據庫。 您需要檢查所有這些內容。

運行您的代碼的計算機上安裝了什么IBM Lotus代碼? 是否已安裝Notes客戶端代碼或已安裝Domino服務器代碼? 一個或另一個必須是,如果是服務器代碼,則必須是32位版本,因為IBM不支持Domino的64位COM類。

您需要檢查代碼是否可以連接到服務器“ xx.xxx.xxx.xxx”。 客戶端和服務器都具有跟蹤功能,可用於檢查該功能。 有關客戶端跟蹤,請參閱幫助 )或有關服務器跟蹤的幫助

您還需要檢查當前用戶ID(與您要傳遞給Initialize()方法的密碼“ bbau0862”相對應的用戶ID Initialize() ,並且該用戶ID必須為當前ID(由keyfilename或serverkeyfilename條目指向)安裝在-上的Notes客戶端或Domino服務器上的notes.ini文件可以訪問服務器“ xx.xxx.xxx.xxx”和數據庫“ names.nsf”(如果可以訪問該服務器,它應該可以訪問names.nsf,但是如果它是專門為您的應用程序提供給您的“特殊”標識,那么您真的應該進行檢查!使用Notes客戶端和該ID都很容易檢查這兩個標識。

它發生在我身上,我使用c#或powershell在Domino中遇到此錯誤。 我認為您嘗試在64位應用程序中使用32位Domino Domino COM Composant(Domino客戶端不存在64位)。 這意味着當在64位Powershell控制台中拋出此錯誤時,Domino Composant將在* 86 Powershell控制台中工作。

我擔心的解決方案是為* 86重新編譯項目!

在這里查看更多詳細信息: COMException是否始終為0x80040154'類未注冊'?

因此,根據我在使用Domino Domino COM方面的經驗,我向您指出,您最好讓您的Domino團隊為用戶信息提供Web服務。

以多米諾骨牌為例,強制一切以x86運行。 並且在客戶端應用中,COM會在用戶的Lotus Notes客戶端(BOSS?)同時出現任何C#意外錯誤而崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM