C++
C++
Get an Attached Message as an Email Object
See more Email Object Examples
Demonstrates the Chilkat Email.GetAttachedEmail method, which copies the Nth embedded message/rfc822 MIME part into another Email object. The index is zero-based (valid values run from 0 through NumAttachedMessages - 1). This example attaches an email and then extracts it back into its own object.
Background: When a message forwards another email as an attachment, that nested message is a complete email in its own right.
GetAttachedEmail turns it back into a fully navigable Email object so you can read its subject, sender, body, and even its own attachments — essential for processing forwarded mail, or for tools that unpack reported spam/phishing to examine the original.Chilkat C++ Downloads
#include <CkEmail.h>
void ChilkatSample(void)
{
bool success = false;
// Demonstrates the GetAttachedEmail method, which copies the Nth embedded message/rfc822
// MIME part into another Email object. The index is zero-based.
// Build an inner email and attach it to an outer email.
CkEmail innerEmail;
innerEmail.put_Subject("Embedded message");
innerEmail.put_From("alice@example.com");
innerEmail.put_Body("This is the embedded message.");
CkEmail email;
email.put_Subject("Has an attached message");
success = email.AttachEmail(innerEmail);
if (success == false) {
std::cout << email.lastErrorText() << "\r\n";
return true;
}
// Copy the first embedded message (index 0) into its own Email object.
CkEmail attached;
success = email.GetAttachedEmail(0,attached);
if (success == false) {
std::cout << email.lastErrorText() << "\r\n";
return true;
}
std::cout << "Attached email subject: " << attached.subject() << "\r\n";
std::cout << "Attached email from: " << attached.ck_from() << "\r\n";
}