1. Sản Phẩm
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

Đọc, tạo và xử lý các tệp Outlook MSG, container CFB và tin nhắn EML từ .NET — miễn phí và mã nguồn mở, không phụ thuộc vào Microsoft Outlook.

Thư viện .NET nguồn mở cho MSG, CFB và EML File

FOSS for .NET là một thư viện C # miễn phí, được cấp phép MIT để làm việc với các tệp Microsoft Outlook .msg , chứa Compound File Binary (CFB) và tin nhắn EML. Thêm một gói NuGet duy nhất và ngay lập tức bắt đầu đọc, tạo và xử lý tin email mà không cần cài đặt Microsoft Excel hoặc bất kỳ thời gian chạy độc quyền nào.

Thư viện cung cấp hai mức truy cập. Ở cấp thấp, CfbReaderCfbWriter cho phép kiểm soát đầy đủ các container nhị phân CFB mục thư mục chéo, đọc và viết nút lưu trữ và dữ liệu dòng, và kiểm tra bố cục lĩnh vực thô. MsgReader and MsgWriter xử lý định dạng MSG trên đầu của CF B , phơi bày luồng tài sản MAPI, bảng người nhận và bộ nhớ phụ tệp đính kèm. ở cấp cao,MapiMessage cho bạn tạo tin nhắn mới từ đầu, read, body, sender, subject, and recipients, manage attachments, convert between MS G và EMLIME format via built-in implementation of MIME .

Thư viện nhắm mục tiêu vào .NET 8.0 hoặc sau đó và không có phụ thuộc bản địa, làm cho nó phù hợp với Windows, Linux, macOS, Docker container và các chức năng serverless. Để biết thêm tính năng và hỗ trợ thương mại, hãy xem Aspose.Email for .NET.

CFB container đọc và viết

  • ** Mở tệp CFB:** Tải các container CF B hiện có từ đường dẫn tời, dòng hoặc mảng byte thông qua CfbReader.FromFile(), CfbReader.FromStream() hay new CfbReader(data).
  • ** Đi qua cây thư mục:** Lặp lại các kho lưu trữ, dòng và con bằng cách sử dụng IterStorages(), IterStreams(),IterChildren()IterTree().
  • ** Xóa đường dẫn:** Chuyển hướng các phân cấp lưu trữ được tổ hợp với ResolvePath(names) để xác định vị trí một dòng cụ thể theo chuỗi tên.
  • ** Viết các container CFB:** Tạo tài liệu CF B theo chương trình với CfbDocument và sắp xếp thành byte hoặc file thông qua CfbWriter.ToBytes() hay CfbWriter.WriteFile().
  • ** Thêm lưu trữ và dòng:** Lấy CfbStorageCfbStream nút vào bất kỳ nút lưu giữ nào trước khi nối hàng.

Nơi CFB Access được sử dụng

  • ** Kiểm tra tập tin MSG:** CFB là định dạng container cho Outlook .msg file truy cập trực tiếp vào CF B có thể kiểm tra pháp y và sửa chữa.
  • ** Các định dạng nhị phân tùy chỉnh:** Bất kỳ ứng dụng cũ nào sử dụng CFB để lưu trữ dữ liệu đều có thể đọc hoặc ghi mà không cần sự phụ thuộc COM.
  • ** Khôi phục dữ liệu:** Đi qua cây thư mục đầy đủ và trích xuất các byte dòng thô từ tệp CFB bị hư hại hoặc không chuẩn.
  • ** Kiểm tra vòng hai:** Xếp hàng một tài liệu thành byte và tải lại để xác minh việc xếp hàng không mất mát trong các thử nghiệm tự động.

MSG File Đọc và Viết

  • ** Đọc tệp MSG:** Mở các tông tin Outlook MS G với MsgReader.FromFile() hoặc MsgReader.FromStream() và truy cập vào luồng thuộc tính MAPI cơ bản, hồ sơ người nhận và lưu trữ phụ đính kèm.
  • ** Viết tệp MSG:** Tạo tảo MS G từ MsgDocument với MsgWriter.ToBytes() hoặc MsgWriter.WriteFile().
  • ** Truy cập MAPI cấp thấp:** Đọc các luồng thuộc tính cấp cao nhất, các thuộc sở hữu có tên và dữ liệu đính kèm thông qua MsgStorage, MsgStreamMsgStorage.FindStream().
  • ** MSG lưu trữ điều hướng:** Sử dụng MsgStorage.FindStream()MsgStorage.FindStorage() để xác định vị trí tên của các mục con.

Nơi sử dụng chế biến MSG

  • ** E-mail lưu trữ đường ống:** Đọc hàng loạt .msg tệp từ thư mục lưu giữ và trích xuất siêu dữ liệu hoặc các tập tin đính kèm.
  • ** Công cụ di chuyển:** Chuyển đổi các bộ sưu tập MSG thành định dạng tiêu chuẩn để nhập vào hệ thống không phải Outlook.
  • ** Khám phá pháp lý:** Phân tích luồng thuộc tính MAPI thô để trích xuất tất cả các trường tin nhắn bao gồm cả những thuộc sở hữu không chuẩn.
  • ** Tự động báo cáo giao:** Xây dựng .msg tập tin theo chương trình và cung cấp cho các hệ thống thư dựa trên Outlook.

API thông điệp cấp cao

  • ** Tạo tin nhắn:** Xây dựng một email hoàn chỉnh với MapiMessage.Create(subject, body), thiết lập SenderName, SenderEmailAddressHtmlBody.
  • ** Thêm người nhận:** Tháp To, CcBcc thông qua AddRecipient() với địa chỉ email và tên hiển thị.
  • ** Quản lý các tệp đính kèm:** Thêm tông tự và dòng tùng với AddAttachment() hoặc xây dựng đối tượng MapiAttachment trực tiếp bằng Filename, MimeType , ContentIdData.
  • ** Gửi và tải lại:** Xếp theo với message.Save() hoặc message.Save(stream) và nạp lại bằng MapiMessage.FromFile() hay MapiMessage.FromStream().

Nơi sử dụng API cấp cao

  • ** Tạo email tự động:** Tự tạo hàng ngàn tệp MSG được cá nhân hóa từ các bản ghi dữ liệu trong công việc tập hợp.
  • ** Tạo thiết bị thử nghiệm:** Xây dựng các tệp MSG được biết đến với nội dung có thể dự đoán cho bộ kiểm tra tích hợp.
  • Tách sạc tệp đính kèm: Tải một tập tin MSG, lặp lại message.Attachments và lưu từng attachment.Data vào đĩa.
  • ** Kiểm tra tài sản:** Truy cập message.Subject, message.Body , message.SenderEmailAddressmessage.Recipients mà không có tự động hóa COM.

EML và chuyển đổi MIME

  • ** Load EML into MapiMessage:** Parse một file .eml tiêu chuẩn (RFC 5322 / MIME) thành một đối tượng MapiMessage đầy đủ thông qua MapiMessage.LoadFromEml(stream).
  • ** Save MapiMessage as EML:** Serialize a MapiMessage back to MIME format with message.SaveToEml() or message.SaveToEml(stream).
  • ** Sự trung thực vòng:** Chủ đề, thân thể, HTML body, người gửi, nhận và tệp đính kèm đều được bảo quản thông qua EML → MSG → EM Làng-trong.
  • ** Không có trình phân tích MIME bên ngoài:** EML được thực hiện bản địa trong thư viện không cần phụ thuộc vào System.Net.Mail .

Nơi chuyển đổi EML được sử dụng

  • ** Hình thức nối:** Nhận email dưới dạng EML từ máy chủ thư và chuyển đổi thành MSG cho lưu trữ tương thích Outlook.
  • ** Phù hợp với tiêu chuẩn:** Chuyển đổi các tệp MSG độc quyền thành MIME tiêu chí để giao cho bất kỳ dịch vụ vận chuyển thư nào.
  • ** Đơn giản hóa lưu trữ:** Tiêu chuẩn hóa một tập hợp các tệp .eml.msg thành một định dạng duy nhất.
  • Lưu lượng công việc thử nghiệm: Tạo các thiết bị .eml trong các bài kiểm tra và xác minh chúng tồn tại MSG vòng hành mà không mất dữ liệu.

Đọc chủ đề từ tệp MSG

Mở một tập tin Outlook MSG từ dòng và in chủ đề không cần Microsoft Outlook.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Tạo và lưu tin nhắn MSG

Tạo một email hoàn chỉnh với người gửi, người nhận và tệp đính kèm, sau đó viết nó vào tập tin MSG.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

Chuyển EML thành MSG

Tải một tập tin .eml tiêu chuẩn và lưu nó như là Outlook .msg sử dụng trình phân tích MIME được xây dựng.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt