Independentsoft
Professional software libraries for developers
Home
Purchase
Support
Company
Contact
PST C++
>
Tutorial
> Display message recipients
The following example shows you how get message's recipients.
C++ example
#include
#include
#include
#include
#include "independentsoft/pst/pst_file.hpp" #include "independentsoft/pst/folder.hpp" #include "independentsoft/pst/item.hpp" #include "independentsoft/pst/recipient.hpp" using namespace independentsoft::pst; static std::string toUtf8(const text& s) { std::string result; for (char16_t c : s) { if (c < 0x80) { result += static_cast
(c); } else if (c < 0x800) { result += static_cast
(0xC0 | (c >> 6)); result += static_cast
(0x80 | (c & 0x3F)); } else { result += static_cast
(0xE0 | (c >> 12)); result += static_cast
(0x80 | ((c >> 6) & 0x3F)); result += static_cast
(0x80 | (c & 0x3F)); } } return result; } int main() { PstFile file("c:\\testfolder\\Outlook.pst"); Folder* startFolder = file.mailbox_root(); std::optional
inbox = startFolder->get_folder(text(u"Inbox")); if (inbox) { std::vector
> items = inbox->get_items(); for (size_t m = 0; m < items.size(); m++) { if (items[m]->messageClass.rfind(text(u"IPM.Note"), 0) == 0) { std::cout << "Id: " << items[m]->id << std::endl; std::cout << "Subject: " << toUtf8(items[m]->subject) << std::endl; for (size_t r = 0; r < items[m]->recipients.size(); r++) { Recipient& recipient = items[m]->recipients[r]; std::cout << "Name: " << toUtf8(recipient.displayName) << std::endl; std::cout << "Email address: " << toUtf8(recipient.emailAddress) << std::endl; std::cout << "Recipient type: " << static_cast
(recipient.recipientType) << std::endl; } std::cout << "-------------------------------------------------------" << std::endl; } } } file.close(); return 0; }
Need help? Ask our developers:
Name*
Email*
Message*