Bạn không thể cấu hình thiết đặt TLS cho kết nối SMTP trong Microsoft Dynamics NAV 2009

Áp dụng cho: Dynamics NAV 2009

Bài viết này áp dụng cho Microsoft Dynamics NAV cho tất cả các nước và tất cả ngôn ngữ.

Triệu chứng


Bạn không thể cấu hình thiết đặt TLS cho kết nối SMTP trong Microsoft Dynamics NAV 2009.
Vấn đề này xảy ra trong các sản phẩm sau:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Giải pháp


Thông tin về cập nhật nóng

Cập nhật nóng được hỗ trợ do Microsoft cung cấp. Đó là một phần "Tải xuống Hotfix sẵn có" ở đầu bài viết cơ sở kiến thức này. Nếu bạn đang gặp sự cố tải xuống, cài đặt hotfix này, hoặc có câu hỏi hỗ trợ kỹ thuật khác, hãy liên hệ với đối tác của bạn hoặc, nếu đăng ký kế hoạch hỗ trợ trực tiếp với Microsoft, bạn có thể liên hệ với hỗ trợ kỹ thuật cho Microsoft Dynamics và tạo ra một yêu cầu hỗ trợ mới. Để thực hiện việc này, ghé thăm website sau của Microsoft:Bạn cũng có thể liên hệ hỗ trợ kỹ thuật cho Microsoft Dynamics qua điện thoại bằng cách sử dụng các liên kết cho quốc gia số điện thoại cụ thể. Để thực hiện việc này, ghé thăm một web site sau của Microsoft:

Đối tácKhách hàngTrong trường hợp đặc biệt, chi phí thường phát sinh để hỗ trợ cuộc gọi có thể bị hủy bỏ nếu chuyên viên hỗ trợ kỹ thuật cho Microsoft Dynamics và sản phẩm liên quan xác định rằng một Cập Nhật cụ thể sẽ giải quyết sự cố. Chi phí hỗ trợ thông thường sẽ áp dụng bất kỳ vấn đề không Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.

Sau khi bạn áp dụng hotfix này, ngoại lệ không gây ra một sự cố không mong muốn. Trong trường hợp này, một lỗi xử lý được ghi vào Nhật ký ứng dụng thay thế.

Làm thế nào để có được hotfix Microsoft Dynamics NAV hoặc cập nhật tệp

Sau khi bạn yêu cầu một hotfix Microsoft Dynamics NAV, siêu liên kết sẽ được gửi cho bạn trong e-mail.


E-mail sẽ chứa một liên kết và mật khẩu. Bạn có thể sử dụng các siêu liên kết để tải xuống hotfix Microsoft Dynamics NAV hoặc tệp Cập Nhật. Khi bạn bấm vào siêu liên kết, hộp thoại Tệp tải xuống – cảnh báo bảo mật mở. Sau đó, bạn được nhắc để chạy, lưu hoặc hủy bỏ việc tải.


Nếu bạn bấm chạy, các tệp bắt đầu tải xuống và trình giải nén. Bạn phải chỉ định một thư mục cho tệp mới và sau đó cung cấp mật khẩu.


Nếu bạn bấm lưu, bạn phải chỉ định đường dẫn lưu tệp nén. Khi bạn mở tệp mà bạn đã lưu, bạn được nhắc chỉ định đường dẫn tệp. Sau đó, bạn phải cung cấp mật khẩu được cung cấp trong email.


Nếu bạn bấm huỷ, dừng quá trình tải xuống.


Làm thế nào để cài đặt bản cập nhật tệp hoặc một hotfix Microsoft Dynamics NAV

Microsoft Dynamics NAV nền tảng hotfix và bản Cập Nhật được thực hiện có sẵn như là một tệp. Để cài đặt một hotfix Microsoft Dynamics NAV hoặc bản Cập Nhật, bạn phải thay thế tệp cài đặt Microsoft Dynamics NAV sẵn có với hotfix hay cập nhật tệp.

Thông tin về tệp

Phiên bản toàn cầu của hotfix này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.
Tên tệpPhiên bản tệpKích thước tệpNgàyGiờNền tảng
Microsoft.navision.mail.dll7.3.0.026,48020-Jan-201116:31x86
Microsoft.navision.mail.tlbKhông áp dụng3,64820-Jan-201109:42Không áp dụng
Lưu ý Hotfix này hoạt động đối với chữ ký chứng chỉ. Nếu chứng chỉ tự ký, bạn phải tự đăng nhập vào certifcate và cài đặt hotfix này là đáng tin cậy.

Để thực hiện việc này, hãy làm theo các bước sau:
  1. Sao chép các tệp mà bạn giải nén từ hotfix tệp vào thư mục sau:
    %ProgramFiles%\Common Files\Microsoft Dynamics NAV\Mail
  2. Đăng ký hội Microsoft.Navision.Mail.dll mới bằng công cụ đăng ký chi tiết (Regasm.exe) bằng cách sử dụng các lệnh sau:
    regasm / mã /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll

    Ví dụ: bạn có thể đảm bảo rằng tệp Regasm.exe trong thư mục được đề cập trong bước 1, mở dấu nhắc lệnh, thay đổi thư mục "C:\Program Files (x86) \Common Files\Microsoft động NAV\Mail", và rồi chạy lệnh sau đây để đăng ký hội Microsoft.Navision.Mail.dll:
    RegAsm.exe /codebase /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll
  3. Thay đổi mã trong bảng thiết lập thư SMTP (409) như sau:
    Mã hiện tại
    ...FIELDS
    {
    { 1 ; ;Primary Key ;Code10 ;CaptionML=ENU=Primary Key }
    { 2 ; ;SMTP Server ;Text250 ;CaptionML=ENU=SMTP Server }
    { 3 ; ;Authentication ;Option ;OnValidate=BEGIN
    IF Authentication <> Authentication::Basic THEN BEGIN
    "User ID" := '';
    Password := '';
    END;
    END;

    CaptionML=ENU=Authentication;
    OptionCaptionML=ENU=Anonymous,NTLM,Basic;
    OptionString=Anonymous,NTLM,Basic }
    { 4 ; ;User ID ;Text30 ;OnValidate=BEGIN
    TESTFIELD(Authentication,Authentication::Basic);
    END;

    CaptionML=ENU=User ID }
    { 5 ; ;Password ;Text30 ;OnValidate=BEGIN
    TESTFIELD(Authentication,Authentication::Basic);
    END;

    CaptionML=ENU=Password }
    }
    ...
    Thay thế mã
    ...FIELDS
    {
    { 1 ; ;Primary Key ;Code10 ;CaptionML=ENU=Primary Key }
    { 2 ; ;SMTP Server ;Text250 ;CaptionML=ENU=SMTP Server }
    { 3 ; ;Authentication ;Option ;OnValidate=BEGIN
    IF Authentication <> Authentication::Basic THEN BEGIN
    "User ID" := '';
    Password := '';
    END;
    END;

    CaptionML=ENU=Authentication;
    OptionCaptionML=ENU=Anonymous,NTLM,Basic;
    OptionString=Anonymous,NTLM,Basic }
    { 4 ; ;User ID ;Text30 ;OnValidate=BEGIN
    TESTFIELD(Authentication,Authentication::Basic);
    END;

    CaptionML=ENU=User ID }
    { 5 ; ;Password ;Text30 ;OnValidate=BEGIN
    TESTFIELD(Authentication,Authentication::Basic);
    END;

    CaptionML=ENU=Password }

    // Add the following lines.
    { 50000; ;SMTP Server Port ;Integer ;InitValue=25 }
    { 50001; ;Secure Connection ;Boolean ;InitValue=No }
    // End of the lines.

    }
    ...
  4. Thay đổi mã thành thiết lập thư SMTP (409) như sau:
    Hiện có mã 1
    ...OnOpenForm=BEGIN
    RESET;
    IF NOT GET THEN
    INSERT;
    CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
    CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
    END;
    ...
    Thay thế mã 1
    ...OnOpenForm=BEGIN
    RESET;
    IF NOT GET THEN
    BEGIN

    // Add the following line.
    INIT;

    INSERT;

    // Add the following line.
    END;

    CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
    CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
    END;
    ...
    Hiện có mã 2
    ...CONTROLS
    {
    { 1 ;TabControl ;220 ;220 ;9350 ;5280 ;HorzGlue=Both;
    VertGlue=Both;
    PageNamesML=ENU=General }
    { 2 ;TextBox ;3850 ;990 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr="SMTP Server" }
    { 3 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=2 }
    { 6 ;TextBox ;3850 ;2090 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr="User ID" }
    { 7 ;Label ;440 ;2090 ;3300 ;440 ;ParentControl=6 }
    { 8 ;TextBox ;3850 ;2640 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    PasswordText=Yes;
    SourceExpr=Password }
    { 9 ;Label ;440 ;2640 ;3300 ;440 ;ParentControl=8 }
    { 4 ;TextBox ;3850 ;1540 ;2750 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr=Authentication;
    OnAfterValidate=BEGIN
    CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
    CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
    END;
    }
    { 5 ;Label ;440 ;1540 ;3300 ;440 ;ParentControl=4 }
    { 10 ;CommandButton;7370 ;5720 ;2200 ;550 ;HorzGlue=Right;
    VertGlue=Bottom;
    PushAction=FormHelp }
    }
    ...
    Thay thế mã 2
    ...CONTROLS
    {
    { 1 ;TabControl ;220 ;220 ;9350 ;5280 ;HorzGlue=Both;
    VertGlue=Both;
    PageNamesML=ENU=General }
    { 2 ;TextBox ;3850 ;990 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr="SMTP Server" }
    { 3 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=2 }
    { 6 ;TextBox ;3850 ;2640 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr="User ID" }
    { 7 ;Label ;440 ;2640 ;3300 ;440 ;ParentControl=6 }
    { 8 ;TextBox ;3850 ;3190 ;5500 ;440 ;ParentControl=1;
    InPage=0;
    PasswordText=Yes;
    SourceExpr=Password }
    { 9 ;Label ;440 ;3190 ;3300 ;440 ;ParentControl=8 }
    { 4 ;TextBox ;3850 ;1540 ;2750 ;440 ;ParentControl=1;
    InPage=0;
    SourceExpr=Authentication;
    OnAfterValidate=BEGIN
    CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
    CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
    END;
    }
    { 5 ;Label ;440 ;1540 ;3300 ;440 ;ParentControl=4 }

    // Add the following lines.
    { 14 ;TextBox ;3850 ;2090 ;5500 ;440 ;Name=<SMTP Server Port>;
    ParentControl=1;
    InPage=0;
    DecimalPlaces=0:0;
    NotBlank=Yes;
    Numeric=Yes;
    SourceExpr="SMTP Server Port";
    MinValue=1 }
    { 15 ;Label ;440 ;2090 ;3300 ;440 ;ParentControl=14;
    CaptionML=ENU=SMTP Server Port }
    { 12 ;CheckBox ;3850 ;3740 ;440 ;440 ;ParentControl=1;
    InPage=0;
    ShowCaption=No;
    SourceExpr="Secure Connection" }
    { 11 ;Label ;440 ;3740 ;3300 ;440 ;ParentControl=12 }
    // End of the lines.

    { 10 ;CommandButton;7370 ;5720 ;2200 ;550 ;HorzGlue=Right;
    VertGlue=Bottom;
    PushAction=FormHelp }
    }
    ...
  5. Thay đổi biến thư trong thư SMTP codeunit (400) như sau:
    Giá trị hiện tại
    Mail@1000 : Automation "{68AEAA7B-9523-3511-AF5F-F2381D2C6F04} 1.0:{F9DAE2A4-D2F8-37C3-86D5-E4FFE166D860}:'Microsoft Navision Mail'.SmtpMessage";
    Giá trị thay thế
    Mail@1000 : Automation "{68AEAA7B-9523-3511-AF5F-F2381D2C6F04} 7.3:{F9DAE2A4-D2F8-37C3-86D5-E4FFE166D860}:'Microsoft Navision Mail'.SmtpMessage";
  6. Thay đổi mã trong codeunit SMTP Mail (400) như sau:
    Mã hiện tại
    ...BEGIN
    WITH SMTPMailSetup DO
    Result :=
    Mail.Send(

    // Delete the following line.
    "SMTP Server",Authentication <> SMTPMailSetup.Authentication::Anonymous,"User ID", Password);

    Mail.Dispose;
    CLEAR(Mail);
    IF Result <> '' THEN
    ERROR(Text003,Result);
    END;
    ...
    Thay thế mã
    ...BEGIN
    WITH SMTPMailSetup DO
    Result :=
    Mail.Send(

    // Add the following lines.
    "SMTP Server",
    "SMTP Server Port",
    Authentication <> Authentication::Anonymous,
    "User ID",
    Password,
    "Secure Connection");
    // End of the lines.

    Mail.Dispose;
    CLEAR(Mail);
    IF Result <> '' THEN
    ERROR(Text003,Result);
    END;
    ...

Điều kiện tiên quyết

Bạn phải có một trong các sản phẩm được cài đặt để áp dụng hotfix này:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Thông tin về việc loại bỏ

Bạn không thể xoá hotfix này.

Trạng thái


Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Tham khảo


Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2345735 bạn không thể thay đổi cổng mặc định cho kết nối SMTP trong Microsoft Dynamics NAV

Thông tin


Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
824684 mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm Microsoft
Lưu ý Đây là một bài viết "XUẤT BẢN NHANH" được tạo trực tiếp từ trung tâm hỗ trợ của Microsoft. Thông tin này được cung cấp-trả lời cho các vấn đề mới xuất hiện. Vì nhanh chóng có sẵn, các tài liệu có thể bao gồm lỗi và có thể được sửa đổi bất kỳ lúc nào mà không cần thông báo. Xem Điều khoản sử dụng để xem xét khác.