The table described above is great for getting information for lots of e-mails at once, but it has some (designed) limitations:
You can only see properties of the email themselves, not the attachments or recipients of the e-mails
Strings are truncated at 255 bytes
The reason for this is that tables are designed for summary overviews of e-mails, not for showing the details of a single message (eg when a user clicks on a message)
To get the message details, we need to open the message itself. We said before that we can use the OpenEntry() method of the store to open both folders and messages, and that’s just what we’re going to do now:
for row in rows:
message = store.OpenEntry(row[0].Value, None, 0)
props = message.GetProps(PR_SUBJECT)
print props[0].Value + '\n'
This will open each message, and then use the GetProps() method again to get the PR_SUBJECT property. This is a little redundant since we already read the PR_SUBJECT from the table before. The only difference between this PR_SUBJECT and the PR_SUBJECT retrieved from the table is that this PR_SUBJECT is not truncated at 255 bytes.
We can now use the message object to do more interesting things.