附件並不會釋放直到當傳送具有附件的電子郵件訊息的情況下,您在使用 SMTP 郵件 codeunit (400),Microsoft 動態航行點的用戶端就會關閉

適用於: Dynamics NAV 2009Microsoft Dynamics NAV 5.0

本文適用於 Microsoft 動態航行點的所有國家/地區和所有的語言地區設定。

狀況


當您使用SMTP 郵件codeunit (400) 傳送 Microsoft 動態航行點 5.0 Service Pack 1 (SP1) 中有附件的電子郵件訊息時,附加的檔案並不會釋放,直到關閉 [Microsoft 動態航行點的用戶端。如果您嘗試刪除附加的檔案,則在關閉 [Microsoft 動態航行點用戶端之前,您會收到下列錯誤訊息︰

無法完成動作,因為檔案已在 [Microsoft 動態航行點用戶端可執行的 SQL Server 中開啟。

如果發生任何錯誤,處理後所附加的檔案時,也會收到這個錯誤訊息。因此,您必須關閉 [Microsoft 動態航行點的用戶端,然後您就可以傳送電子郵件訊息。

注意下列產品中也會發生這個問題︰
  • Microsoft 動態航行點 2009 Service Pack 1
  • Microsoft 動態航行點 2009
  • Microsoft 動態航行點 5.0

原因


Microsoft.NET Framework 等待記憶體回收行程釋放資源,.NET COM 物件會保留在記憶體中時,就會發生這個問題。

解決方案


Hotfix 資訊

支援的 hotfix 可從 Microsoft 取得。便會出現 「 下載 Hotfix 」 區段,在此知識庫文件的頂端。如果您正在下載時遇到問題,安裝此 hotfix,或有其他的技術支援問題時,請連絡您的夥伴或者,如果註冊直接向 Microsoft 加入支援計劃中,您可以連絡 Microsoft 動態的技術支援,並建立新的支援要求。 若要執行這項操作,請造訪下列 Microsoft 網站:您也可以連絡技術支援的透過使用這些連結的國家/地區特定的電話號碼的電話。 若要這樣做,請造訪下列 Microsoft 網站︰

協力廠商客戶在特殊的情況下,通常會支援呼叫可能已被取消如果技術支援專業人員的 Microsoft 動態及相關的產品所產生的費用會決定某特定更新程式可以解決您的問題。收取支援費用會套用到任何其他支援問題並不能限定的特定更新程式的問題。



如何取得 Microsoft 動態航行點 hotfix 或更新檔案

您可以要求 Microsoft 動態航行點 hotfix 後,超連結將給您以電子郵件傳送。


電子郵件將包含超連結及密碼。您可以使用超連結,下載 Microsoft 動態航行點 hotfix 或更新檔案。當您按一下超連結時,便會開啟 [檔案下載-安全性警告] 對話方塊。然後,會提示您執行、 儲存,或取消下載。


如果您按一下 [執行] 時,檔案會開始下載然後擷取程序。您必須為新的檔案中,指定的資料夾,然後提供 [密碼。


如果您按一下 [儲存] 時,您必須指定儲存壓縮的檔的路徑。當您開啟您所儲存的檔案時,會提示您指定檔案的路徑。然後,您必須提供電子郵件中所提供的密碼。


如果您按一下 [取消] 時,下載程序將會停止。



如何安裝 Microsoft 動態航行點 hotfix 或更新檔案

Microsoft 動態航行點的平台 hotfix 及更新被變成可為單一的檔案。若要安裝 [Microsoft 動態航行點 hotfix 或更新,您必須取代現有的 Microsoft 動態航行點安裝檔案,此 hotfix 之後或更新檔案。

檔案資訊

檔案屬性 (或較新的檔案屬性),此 hotfix 的全球版本具有下表中所列。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
檔案名稱檔案版本檔案大小日期時間平台
Microsoft.navision.mail.dll7.1.0.026,48007-Jul-201011:20x86
Microsoft.navision.mail.tlb不適用3,62007-Jul-201007:57不適用
若要執行這項操作,請參考下列步驟:
  1. 將複製的檔案,您從 hotfix 檔案解壓縮至下列資料夾︰
    %ProgramFiles%\Common 必要動態 NAV\Mail
  2. 登錄新的 Microsoft.Navision.Mail.dll 組件,組件登錄工具 (Regasm.exe) 透過使用下列命令︰
    regasm / 程式碼基底 /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll

    例如,您可以確定 Regasm.exe 檔案是在 [郵件] 資料夾中步驟 1 所述的情況下,開啟 [命令提示字元時,將目錄變更為"C:\Program 檔案 (x86) \Common Files\Microsoft 動態 NAV\Mail",,,然後執行下列命令以註冊 Microsoft.Navision.Mail.dll 組件︰
    RegAsm.exe /codebase /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll
  3. 在 [ SMTP 郵件] 表格 (409) 中,加入下列新的欄位︰
    50000 SMTP Server Port, Integer, InitValue=25
  4. SMTP 郵件表單 (409) 中,請在 [一般] 索引標籤上顯示新欄位 50000 SMTP 伺服器的連接埠。
  5. 在 [ SMTP 郵件Codeunit (400) 中,變更全域變數的郵件如下所示︰
    Existing
    Microsoft Navision 郵件。SmtpMessage
    取代
    ' Microsoft 動態航行點郵件 Helper'。SmtpMessage
  6. 變更SMTP 郵件codeunit (400) 的傳送程序如下所示︰
    現有的程式碼
    PROCEDURE Send@3();    VAR
    Result@1000 : Text[1024];
    BEGIN
    WITH SMTPMailSetup DO
    Result :=
    Mail.Send(
    "SMTP Server",Authentication <> Authentication::Anonymous,"User ID",Password);
    CLEAR(Mail);
    IF Result <> '' THEN
    ERROR(Text003,Result);
    END;

    取代程式碼
    PROCEDURE Send@3();    VAR
    Result@1000 : Text[1024];
    BEGIN
    WITH SMTPMailSetup DO
    Result :=
    Mail.Send(
    "SMTP Server",Authentication <> Authentication::Anonymous,"User ID",Password,"SMTP Server Port");,"SMTP Server Port");

    Mail.Dispose; // Add this line that begians with 10 spaces.

    CLEAR(Mail);

    IF Result <> '' THEN
    ERROR(Text003,Result);
    END;

先決條件

您必須擁有 Microsoft 動態航行點 5.0 Service Pack 1 安裝套用此 hotfix 之後。

注意此 hotfix 也適用於下列產品︰
  • Microsoft 動態航行點 2009 Service Pack 1
  • Microsoft 動態航行點 2009
  • Microsoft 動態航行點 5.0

這些產品套用此 hotfix 之後,您必須安裝這些產品的其中一個。

移除資訊

您無法移除此 hotfix。

狀態


Microsoft 已確認這是 < 適用於=""> 一節所列出的 Microsoft 產品中的錯誤。

更多的資訊


如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述

注意這是直接從 Microsoft 支援組織內建立的「快速發行」文件。本文件所包含的現狀資訊是針對新興問題的回應。為縮短使其可用的時程,資料可能會包含印刷錯誤,且可能會隨時進行修改而不另行通知。如其他考量,請參閱 「使用規定」。