I am trying to get the content from an attachment on an email. I am able to read the email and all of its attributes. The attachment is a text file (.txt). How would i grab the actually text content of the attachment? Below is a section of my code showing how i grab each email and then get its attributes and store them in the findResults list. Something like fileAttachment.Name would give me the name of the attachment. fileAttachment.content.tostring() will only show me system.Byte[].
FindItemsResults<Item> findResults = service.FindItems(fid1, new ItemView(int.MaxValue));
service.LoadPropertiesForItems(from Item item in findResults select item, PropertySet.FirstClassProperties);
foreach (Item item in findResults)
{
String body = "";
#region attachments
if (ReadAttachments == "1")
{
EmailMessage message = EmailMessage.Bind(service, item.Id, new PropertySet(BasePropertySet.IdOnly, ItemSchema.Attachments));
foreach (Attachment attachment in message.Attachments)
{
if (attachment is FileAttachment)
{
FileAttachment fileAttachment = attachment as FileAttachment;
// Load the file attachment into memory and print out its file name.
fileAttachment.Load();
String attachbody = fileAttachment.Content.ToString();
if (attachbody.Length > 8000)
{
attachbody = attachbody.Substring(0, 8000);
}
Console.writeline(attachbody);
#endregion
}
}
}
#endregion
}
That’s because it is an array of bytes you’ll have to use a StreamReader to get it