Я не могу сохранить файл .msg из подписанного письма. Я могу сохранить любой другой MSG-файл, но получаю исключение при попытке сохранить MSG-файл из подписанного письма. Ниже вы можете увидеть код, который я использую. Исключение выдается в строке mailItem.SaveAs
.
if (selObject is Outlook.MailItem)
{
Outlook.MailItem mailItem = (selObject as Outlook.MailItem);
mailItem.InternetCodepage = 65000;
string sIsSigned = mailItem.MessageClass;
sSubject = mailItem.Subject;
if (sSubject != null)
{
if (iSubject < sSubject.Length)
{
sSubject = sSubject.Substring(0, iSubject);
Logbuch.LogWriter("Subject: " + sSubject, sSavelog);
}
}
string rename = sSubject.Replace("!", "").Replace(@"""", "").Replace(":", "").Replace(@"\", "").Replace("~", "").Replace("$", "").Replace("%", "").Replace("§", "").Replace(@"\", "").Replace("[", "").Replace("<", "").Replace("*", "").Replace(">", "").Replace(@"/", "").Replace("?", "");
MsgFile = Path.Combine(Environment.GetEnvironmentVariable("Temp") + "\\", rename + "_" + thename + ".msg");
sAdress = mailItem.SenderEmailAddress;
if (sAdress != null)
{
if (iSender < sAdress.Length)
{
sAdress = sAdress.Substring(0, iSender);
Logbuch.LogWriter("Absender: " + sAdress, sSavelog);
}
}
sCC = mailItem.CC;
if (sCC != null)
{
if (iCC < sCC.Length)
{
sCC = sCC.Substring(0, iCC);
}
}
sBCC = mailItem.BCC;
if (sBCC != null)
{
if (iBCC < sBCC.Length)
{
sBCC = sBCC.Substring(0, iBCC);
}
}
DateTime Date = mailItem.ReceivedTime;
FinalDate = Date.ToString().Substring(0, 10);
mailItem.Permission = OlPermission.olUnrestricted;
try
{
mailItem.SaveAs(MsgFile, Outlook.OlSaveAsType.olMSG);
}
catch (System.Exception ex)
{
Logbuch.LogWriter(ex.ToString(), sSavelog);
}
}