我正在試驗一個小程序,用於從Exchange服務器發送電子郵件並保存任何附加文件。從建議中,我決定使用Redemption庫。從服務器使用不同用戶帳戶的兌換
我在服務器上安裝了Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1,所以它應該在沒有Outlook的情況下工作。當我在本地機器上運行程序時,它可以毫無問題地瀏覽我自己的收件箱。但是,當我嘗試在服務器上執行它時,我遇到了問題。
即使我在代碼中提供了登錄信息,我也會得到登錄提示。我使用與正在嘗試訪問的帳戶不同的帳戶登錄服務器。我簡單的嘗試是這樣的:
// Get session
RDOSession session = RedemptionLoader.new_RDOSession();
// Attempt login
session.Credentials.Add("outlook.server.local",
"user",
"password",
rdoCredentialType.ctGeneric,
rdoCredentialPersist.cpLocalMachine);
session.LogonExchangeMailboxEx("user",
"outlook.server.local",
false,
true,
"",
"");
// Access mailbox
RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);
我得到一個錯誤,當我嘗試訪問郵箱 - 或任何其他項目:
Unhandled Exception: System.Runtime.InteropServices.COMException:
Error in IMAPI Session::OpenMsgStore: MAPI_E_LOGON_FAILED
Make sure your code runs under the Windows user identity that has MAPI profiles.
我怎麼能訪問我的郵箱作爲登錄時不同的用戶?如果我用「Run As ...」執行程序並提供我的用戶登錄,它也可以在服務器上運行。但我需要它與不同的用戶一起工作。
你可以關閉括號嗎?我無法進行少於6個字符的修改。 – Superbest 2012-09-25 05:45:18