Triệu chứng
Khi bạn cố gắng gửi thư email theo chương trình đến máy chủ SMTP cục bộ bằng cách sử dụng phương pháp Gửi trong Microsoft Dynamics AX 4.0, thông điệp email không được gửi. Ngoài ra, bạn sẽ nhận được thông báo lỗi sau đây:
Phương pháp 'gửi' trong đối tượng COM của lớp 'CDO. Mã lỗi được trả về từ thông báo 0x80040213 (<không xác>), nghĩa là: Truyền dẫn không kết nối được với máy chủ.
Nguyên nhân
Sự cố này có thể xảy ra nếu các điều kiện sau đây là đúng:
-
Máy chủ SMTP cục bộ nằm trên máy tính đang chạy Microsoft Windows Server 2003.
-
Địa chỉ Giao thức Internet (IP) của máy chủ ảo SMTP được đặt thành địa chỉ IP của máy tính cục bộ.
Giải pháp
Để giải quyết vấn đề này, hãy thay đổi địa chỉ IP của máy chủ ảo SMTP để sử dụng tùy chọn Tất cả Chưa gán, rồi chạy mã để gửi thông điệp email theo chương trình.
Để thay đổi địa chỉ IP của máy chủ ảo SMTP, hãy làm theo các bước sau đây:
-
Bấm vào Bắtđầu , trỏ đến Tất cả Chươngtrình , trỏ tới Công cụ Quảntrị , rồi bấm vào Trình quản Dịch vụ Thông tin Internet (IIS).
-
Bung rộng máy chủ Microsoft Dynamics AX 4.0.
-
Bấm chuột phải vào Máy chủ Ảo SMTP Mặc định, rồi bấm Thuộc tính.
-
Trên tab Chung, bấm (Tất cả Chưa gán) trong hộp địa chỉ IP.
-
Bấm OK để đóng hộp thoại Thuộc tính Máy chủ Ảo SMTP Mặc định.
Thông tin Bổ sung
Microsoft cung cấp các ví dụ lập trình chỉ cho hình minh họa, mà không có bảo hành được thể hiện hoặc ngụ ý. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. Bài viết này giả định rằng bạn đã quen với ngôn ngữ lập trình đang được minh họa và với các công cụ được sử dụng để tạo và gỡ lỗi thủ tục. Kỹ sư hỗ trợ của Microsoft có thể giúp giải thích chức năng của một quy trình cụ thể. Tuy nhiên, họ sẽ không sửa đổi các ví dụ này để cung cấp chức năng bổ sung hoặc xây dựng thủ tục để đáp ứng các yêu cầu cụ thể của bạn.
Mã sau đây là một ví dụ về cách gửi thư email theo chương trình bằng cách sử dụng phương pháp Gửi trong Microsoft Dynamics AX 4.0.
static void SysMailer(Args _args)
{
SysMailer mailer;
;
mailer = new SysMailer();
mailer.body("This is the body of the mail");
mailer.subject("The message subject");
mailer.fromAddress("alias@domain");
mailer.tos().appendAddress("alias@domain");
mailer.SMTPRelayServer("domain_name_of_SMTP_Server");
mailer.sendMail();
pause;
}
Nếu bạn đang sử dụng chức năng Cảnh báo để nhận thông báo qua thư bật lên hoặc qua email, bạn có thể cần phải xác nhận rằng thiết đặt là chính xác trong Trình quản lý Dịch vụ Thông tin Internet (IIS). Để thực hiện việc này, hãy làm theo các bước sau:
-
Trong Trình quản lý IIS, mở rộng máy chủ Microsoft Dynamics AX 4.0.
-
Bấm chuột phải vào Máy chủ Ảo SMTP Mặc định. Sau đó, bấm Thuộc tính.
-
Bấm vào tab Access.
-
Bấm Kết nối.
-
Xác minh rằng đã chọn tùy chọn "Tất cả ngoại trừ danh sách bên dưới". Hoặc nếu chọn tùy chọn "Chỉ danh sách bên dưới", hãy xác minh rằng danh sách không trống.
-
Trong cửa sổ Kết nối, bấm OK để chấp nhận thay đổi.
-
Bấm Chuyển tiếp. Sau đó, lặp lại bước 5 đến 6.
-
Xác minh rằng tùy chọn Tất cả ngoại trừ danh sách bên dưới được chọn. Hoặc nếu chọn tùy chọn "Chỉ danh sách bên dưới", hãy xác minh rằng danh sách không trống.