Câu hỏi thường gặp — Aspose.Email FOSS cho .NET
Cấp phép
Aspose.Email.Foss sử dụng giấy phép nào?
Giấy phép MIT. Không cần khóa giấy phép. Sử dụng tự do trong các dự án cá nhân, thương mại và mã nguồn mở.
Cài đặt
Làm thế nào để cài đặt Aspose.Email.Foss?
dotnet add package Aspose.Email.FossPhiên bản .NET nào được yêu cầu?
.NET 8.0 trở lên. Thư viện không hỗ trợ .NET Framework hoặc .NET Standard.
Có phụ thuộc gốc không?
No. Thư viện này là C# quản lý thuần túy không có phụ thuộc gốc. Nó chạy giống hệt trên Windows, Linux, macOS, Docker và môi trường không máy chủ.
Hỗ trợ định dạng
Các định dạng email nào được hỗ trợ?
| Định dạng | Đọc | Ghi |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Tôi có thể đọc các tệp EML không?
Vâng. Sử dụng MapiMessage.LoadFromEml(stream) để tải một tệp .eml tiêu chuẩn vào mộtMapiMessage. Trình phân tích MIME tích hợp xử lý các tiêu đề gập, nội dung base64, và
tin nhắn đa phần.
Tôi có thể chuyển đổi MSG sang EML không?
Vâng. Gọi message.SaveToEml() để xuất đầu ra byte[] trong bộ nhớ, hoặcmessage.SaveToEml(stream) để ghi vào tệp. Chủ đề, nội dung, nội dung HTML, người gửi,
người nhận và tất cả các tệp đính kèm được giữ nguyên.
TNEF (winmail.dat) có được hỗ trợ không?
Không. Chỉ hỗ trợ các định dạng MSG (CFB) và EML (MIME) tiêu chuẩn.
IMAP/SMTP/POP3 có được hỗ trợ không?
Không. Thư viện xử lý các tệp MSG trực tiếp và không bao gồm bất kỳ lớp mạng/giao thức nào.
Sử dụng API
Làm thế nào để tải tệp MSG?
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);Làm thế nào để tôi tạo một tin nhắn mới?
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");Làm thế nào để tôi thêm tệp đính kèm?
// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");
// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");Làm thế nào để chuyển đổi EML sang MSG?
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");Làm thế nào để tôi truy cập cấu trúc CFB thô?
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);Các hạn chế đã biết
Có phương thức nào chưa được triển khai không?
Không có stub chưa được triển khai cố ý trong phiên bản hiện tại.
Có hỗ trợ lịch/đặt hẹn không?
Thư viện xử lý các tệp MSG một cách chung. Các thuộc tính đặc thù của lịch có thể được truy cập qua SetProperty() / GetPropertyValue() với các ID thuộc tính MAPI từ CommonMessagePropertyId, nhưng không có API lịch hoặc cuộc hẹn riêng biệt.
Có đảm bảo an toàn luồng không?
Mỗi thể hiện MapiMessage và CfbReader là độc lập. Truy cập đồng thời vào các thể hiện riêng biệt từ các luồng khác nhau là an toàn. Không chia sẻ một thể hiện duy nhất giữa các luồng mà không có đồng bộ bên ngoài.