Hello,
I usemy code toreturn thereceivedmails.
If Ihave an answertoan emailin myinbox,the content of thisemail willdisplayempty.
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
SPList list = root.Lists[CheckList(root)];
//
foreach (ExchangeMessageInfo message in msgCollection)
{
MailMessage msgInfo = client.FetchMessage(message.UniqueUri);
if (!EmailExist(message, root, msgInfo))
InsertMail(msgInfo, message, root, list);
else
break;
}
private void InsertMail(MailMessage message, ExchangeMessageInfo exchangeMessageInfo, SPWeb web, SPList list)
{
SPSecurity.RunWithElevatedPrivileges(() =>
{
try
{
SPListItem item = list.AddItem();
item[SPBuiltInFieldId.Title] = message.Subject;
item[MATQConstants.FIELD_MATQ_From] = message.From;
if (message.To.Count > 1)
item[MATQConstants.FIELD_MATQ_TO] = message.To.Aggregate((x, next) => x + ";" + next);
else
item[MATQConstants.FIELD_MATQ_TO] = message.To;
if (message.CC.Count > 1)
item[MATQConstants.FIELD_MATQ_CC] = message.CC.Aggregate((current, next) => current + ";" + next);
else
item[MATQConstants.FIELD_MATQ_CC] = message.CC;
item[MATQConstants.FIELD_MATQ_Body] = message.HtmlBody;
item[MATQConstants.FIELD_MATQ_Date] = message.Date;
item[MATQConstants.FIELD_MATQ_Status] = "0";
SaveImage(message, web);
if (exchangeMessageInfo.HasAttachments)
{
SPAttachmentCollection fileAttch = item.Attachments;
foreach (Attachment attachment in message.Attachments)
{
byte[] buffer = new byte[(int)attachment.ContentStream.Length];
attachment.ContentStream.Read(buffer, 0, (int)attachment.ContentStream.Length);
attachment.ContentStream.Close();
fileAttch.Add(GetValidFileName(attachment.Name), buffer);
}
}
item.Update();
}
catch (Exception ex)
{
new BizWFException(ex);
}
});
}
Best Regards,
Nacata
I usemy code toreturn thereceivedmails.
If Ihave an answertoan emailin myinbox,the content of thisemail willdisplayempty.
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
SPList list = root.Lists[CheckList(root)];
//
foreach (ExchangeMessageInfo message in msgCollection)
{
MailMessage msgInfo = client.FetchMessage(message.UniqueUri);
if (!EmailExist(message, root, msgInfo))
InsertMail(msgInfo, message, root, list);
else
break;
}
private void InsertMail(MailMessage message, ExchangeMessageInfo exchangeMessageInfo, SPWeb web, SPList list)
{
SPSecurity.RunWithElevatedPrivileges(() =>
{
try
{
SPListItem item = list.AddItem();
item[SPBuiltInFieldId.Title] = message.Subject;
item[MATQConstants.FIELD_MATQ_From] = message.From;
if (message.To.Count > 1)
item[MATQConstants.FIELD_MATQ_TO] = message.To.Aggregate((x, next) => x + ";" + next);
else
item[MATQConstants.FIELD_MATQ_TO] = message.To;
if (message.CC.Count > 1)
item[MATQConstants.FIELD_MATQ_CC] = message.CC.Aggregate((current, next) => current + ";" + next);
else
item[MATQConstants.FIELD_MATQ_CC] = message.CC;
item[MATQConstants.FIELD_MATQ_Body] = message.HtmlBody;
item[MATQConstants.FIELD_MATQ_Date] = message.Date;
item[MATQConstants.FIELD_MATQ_Status] = "0";
SaveImage(message, web);
if (exchangeMessageInfo.HasAttachments)
{
SPAttachmentCollection fileAttch = item.Attachments;
foreach (Attachment attachment in message.Attachments)
{
byte[] buffer = new byte[(int)attachment.ContentStream.Length];
attachment.ContentStream.Read(buffer, 0, (int)attachment.ContentStream.Length);
attachment.ContentStream.Close();
fileAttch.Add(GetValidFileName(attachment.Name), buffer);
}
}
item.Update();
}
catch (Exception ex)
{
new BizWFException(ex);
}
});
}
Best Regards,
Nacata