0

我无法从签名邮件中保存 .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);
    }
}
4

0 回答 0