Các giải pháp lập trình CSharp- P59: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. | 471 Chương 11 Lập trình mạng myMessage Tuy nhiên có một vài vấn đề khi sử dụng lớp SmtpMaii để gửi một thông điệp e-mail. Lớp này cần một SMTP-server cục bộ hay một relay-server trên mạng. Ngoài ra lớp SmtpMaii không hỗ trợ việc xác thực do đó nếu SMTP-server yêu cầu username và password bạn sẽ không thể gửi bất kỳ mail nào. Để khắc phục vấn đề này bạn có thể trực tiếp sử dụng thành phần CDOSYS thông qua COM Interop giả sử bạn có phiên bản server của Windows hay Microsoft Exchange . Nhớ rằng giao thức SMTP không được sử dụng để lấy e-mail. Đối với công việc này bạn cần giao thức POP3 hay IMAP cả hai giao thức này đều không có trong .NET Framework. Để có thêm thông tin về cách sử dụng và cấu hình SMTP-server bạn hãy tham khảo các quyển sách chuyên về IIS. 15. Gửi và nhận e-maiívới MAPI 1 Bạn muốn gửi một thông điệp e-mail nhưng SMTP-server Simple Mail Transfer Protocol server chưa được cấu hình trên máy tính. Sử dụng Simple MAPI Messaging Application Programming Interface bằng cách nhập hàm cần thiết từ thư viện hệ thống không-được-quản-lý . MAPI là giao diện cho phép bạn tương tác với các tính năng mailing được tích hợp trong hệ điều hành Windows. Bạn có thể sử dụng MAPI thông qua các hàm API không-được-quản-lý hoặc thông qua thành phần MAPI đi cùng với Visual Studio 6 để tương tác với mail-client mặc định thường là Microsoft Outlook hay Outlook Express . Các tác vụ bao gồm lấy thông tin contact từ sổ địa chỉ lấy thông điệp trong Inbox soạn và gửi thông điệp. Đáng tiếc không có lớp nào sử dụng MAPI trong .NET Framework. Tuy nhiên bạn có thể sử dụng thư viện không-được-quản-lý Mapi32. dll. Thách thức chính khi sử dụng Simple MAPI trong .NET là marshal các cấu trúc được sử dụng trong .NET thành các cấu trúc mà Simple MAPI cần sau đó marshal các cấu trúc do Simple MAPI trả về cho ứng dụng .NET. Đây không phải là một công việc đơn giản. Tuy nhiên Microsoft cung cấp một giải pháp toàn vẹn trong một thành .