Email là một nguồn thông tin liên lạc chính trên internet. Bạn có thể thấy mình trong các trường hợp mà bạn muốn ứng dụng của mình đọc các tệp EML và MSG và thêm nội dung của chúng vào một số tệp hoặc thực hiện một số thao tác khác trên chúng. Để kết thúc, bài viết này sẽ hướng dẫn bạn cách đọc email bằng C ++.
- API C ++ để đọc tin nhắn email
- Đọc email bằng C ++
- Trích xuất thông tin tiêu đề từ tin nhắn email
- Giải mã giá trị tiêu đề thư email
- Nhận giấy phép miễn phí
API C ++ để đọc tin nhắn email
Aspose.Email for C ++ là một thư viện C ++ gốc để tạo, thao tác và gửi email mà không yêu cầu cài đặt Microsoft Outlook. API cũng hỗ trợ đọc các tệp email EML và MSG. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.Email.Cpp
Đọc email bằng C ++
Sau đây là các bước để đọc email.
- Tải tệp email bằng lớp MailMessage.
- Đọc nội dung email bằng cách sử dụng MailMessage-> getFrom(), MailMessage-> getTo(), MailMessage-> getSubject(), MailMessage-> getBody ( ), v.v.
Sau đây là mã mẫu để đọc email bằng C ++.
// Tạo phiên bản MailMessage bằng cách tải tệp EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Nhận thông tin người gửi
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());
// Nhận thông tin người nhận
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());
// Nhận chủ đề
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());
// Lấy phần thân HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
// Lấy nội dung văn bản
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Trích xuất thông tin tiêu đề từ tin nhắn email
Sau đây là các bước để trích xuất thông tin tiêu đề từ email.
- Tải tệp email bằng lớp MailMessage.
- Lấy bảng kê đầu trang bằng phương thức MailMessage-> getHeaders() -> GetEnumerator().
- Lặp qua các tiêu đề và truy xuất tiêu đề bằng phương thức MailMessage-> getHeaders() -> Get (int32t index).
Sau đây là mã mẫu để trích xuất thông tin tiêu đề từ email bằng C ++.
// Tạo phiên bản MailMessage bằng cách tải tệp EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// In ra tất cả các tiêu đề
int32_t index = 0;
{
auto header_enumerator = message->get_Headers()->GetEnumerator();
decltype(header_enumerator->get_Current()) header;
while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
{
System::Console::Write(header + u" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}
Giải mã giá trị tiêu đề thư email
Sau đây là các bước để giải mã giá trị tiêu đề trong thư email.
- Tải tệp email bằng lớp MailMessage.
- Giải mã giá trị của tiêu đề bằng phương thức MailMessage-> getHeaders() -> GetDecodedValue (System :: String name).
Sau đây là mã mẫu để giải mã giá trị tiêu đề trong email bằng C ++.
// Tạo phiên bản MailMessage bằng cách tải tệp EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Nhận giá trị được giải mã từ tiêu đề
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");
// In giá trị
System::Console::WriteLine(decodedValue);
Nhận giấy phép miễn phí
Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.
Bản thử trực tiếp
Sự kết luận
Trong bài này, bạn đã học cách đọc email bằng C ++. Cụ thể, bạn đã học cách đọc nội dung và thông tin tiêu đề của email. Bạn cũng đã thấy cách giải mã các giá trị tiêu đề bằng cách sử dụng Aspose.Email cho C ++ API. Ngoài việc đọc email, API cung cấp nhiều tính năng hơn để làm việc với email. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.