Tự động hóa email ngày nay khá phổ biến để tạo và gửi email tự động từ bên trong ứng dụng web hoặc máy tính để bàn. Nó đang được sử dụng để gửi các thông báo, tài liệu, bản tin quan trọng và nhiều loại tin nhắn khác. Để phát triển hệ thống email tự động, Aspose hỗ trợ các nhà phát triển với API email - Aspose.Email. Hôm nay, tôi sẽ chọn biến thể C++ của Aspose.Email và chỉ cho bạn cách tạo email Outlook bằng C++.
- Thư viện thư điện tử C++
- Tạo Email Outlook bằng C++
- Tạo Email Outlook với Nội dung HTML bằng C++
- Đặt Mã hóa cho Email Outlook bằng C++
- Lưu tin nhắn Outlook dưới dạng bản nháp bằng C++
Thư viện email C++ để tạo email Outlook
Aspose.Email for C++ là thư viện C++ gốc cho phép bạn tạo và gửi email của MS Outlook và các định dạng email phổ biến khác. Nó cũng cho phép bạn thao tác với các đối tượng Outlook như lịch, tác vụ, danh bạ, v.v. và chuyển đổi các tệp email hiện có sang các định dạng khác. Bạn có thể tải xuống gói thư viện hoàn chỉnh từ tại đây hoặc cài đặt nó trong ứng dụng C++ của mình bằng NuGet.
Tạo Email Outlook bằng C++
Trước hết, hãy xem cách tạo một email đơn giản và lưu nó ở định dạng email như MSG, EML và EMLX. Sau đây là các bước để tạo một email bằng Aspose.Email for C++.
- Tạo một thể hiện của lớp MailMessage.
- Đặt các thuộc tính của thư như Đến, Từ và Nội dung.
- Lưu email bằng phương thức MailMessage->Save().
Mẫu mã sau đây cho biết cách tạo thư Outlook ở định dạng email cụ thể bằng C++.
// Tạo một thể hiện mới của lớp MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// Đặt chủ đề của tin nhắn, nội dung Html và thông tin người gửi
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text."));
// Thêm người nhận TO và Thêm người nhận CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_To()->Add(System::MakeObject<MailAddress>(L"to2@domain.com", L"Recipient 2", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc2@domain.com", L"Recipient 4", false));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml());
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());
Tạo Email Outlook với Nội dung HTML bằng C++
Trong ví dụ trước, chúng tôi đã tạo một email có văn bản thuần túy. Tuy nhiên, hầu hết các email ngày nay đều chứa phần thân HTML để trình bày nội dung của email một cách đẹp mắt. Trong trường hợp như vậy, bạn có thể định cấu hình Aspose.Email và đặt phần thân dựa trên HTML của email. Đối với điều này, chỉ cần sử dụng MailMessage->setHtmlBody(System::String) và chuyển nội dung HTML cho nó. Mẫu mã sau đây cho biết cách tạo email có nội dung HTML bằng C++.
// Tạo một thể hiện mới của lớp MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// Đặt chủ đề của tin nhắn, nội dung Html và thông tin người gửi
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_HtmlBody(System::String(u"<b>This line is in bold.</b> <br/> <br/>") + u"<font color=blue>This line is in blue color</font>");
// Thêm người nhận TO và Thêm người nhận CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());
Đặt Mã hóa cho Email Outlook bằng C++
Aspose.Email for C++ cũng cho phép bạn xác định tiêu chuẩn mã hóa để hướng dẫn trình duyệt cách xử lý các ký tự trong email. Để đặt tiêu chuẩn mã hóa cụ thể, bạn có thể sử dụng phương thức MailMessage->setBodyEncoding(System::Text::Encoding). Mẫu mã sau đây cho biết cách tạo email có mã hóa cụ thể bằng C++.
// Tạo một thể hiện mới của lớp MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// Đặt chủ đề của tin nhắn, nội dung Html và thông tin người gửi
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text."));
message->set_BodyEncoding(System::Text::Encoding::get_ASCII());
// Thêm người nhận TO và Thêm người nhận CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml());
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());
Lưu tin nhắn Outlook dưới dạng bản nháp bằng C++
Bạn cũng có thể lưu email Outlook mới tạo dưới dạng bản nháp. Sau đây là các bước để thực hiện thao tác này:
- Tạo một email mới hoặc tải một email hiện có bằng đối tượng MailMessage.
- Tạo đối tượng MapiMessage từ thư Outlook.
- Sử dụng phương pháp MapiMessage->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags) để đặt email làm bản nháp.
- Lưu email Outlook.
Mẫu mã sau đây cho biết cách tạo email dưới dạng bản nháp bằng C++.
// Tạo một thể hiện mới của lớp MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// Đặt chủ đề của tin nhắn, nội dung Html và thông tin người gửi
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text."));
// Thêm người nhận TO và Thêm người nhận CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
// Tạo một phiên bản loại MapiMessage từ MailMessage, Đặt cờ thư thành chưa gửi (trạng thái nháp) và Lưu nó
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);
// Lưu tin nhắn ở định dạng EML, EMLX, MSG MHTML
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());
Bản trình diễn trực tiếp
Sự kết luận
Trong bài viết này, tôi đã chỉ cho bạn cách tạo email Outlook trong các ứng dụng C++. Các mẫu mã C++ trình bày cách tạo email MSG, EML hoặc EMLX với nội dung văn bản/HTML hoặc một mã hóa cụ thể. Bạn có thể khám phá thêm về cách xử lý email Outlook và các mục khác bằng Aspose.Email for C++.