IMAPIProp :: SaveChanges:尝试在RDOMail对象上运行操作时,MAPI_E_NO_ACCESS

时间:2019-02-27 07:29:41

标签: c# outlook office365 ms-office outlook-redemption

我正在尝试保存对RDOMail的一些更改,但是出现以下异常- Error in IMAPIProp::SaveChanges: MAPI_E_NO_ACCESS\r\nulVersion: 0\r\nComponent: Outlook Data File\r\nulLowLevelError: 0\r\nulContext: 805634561

_rdoSession.MAPIOBJECT = app.Session.MAPIOBJECT;
RDOStore sto = _rdoSession.GetRDOObjectFromOutlookObject(_Account[0].DeliveryStore, Missing.Value);
RDOFolder folder = sto.GetDefaultFolder(rdoDefaultFolders.olFolderOutbox);
RDOItems Items = folder.Items;
for (int i = 1; i <= Items.Count; i++)
{
    try
    {
        RDOMail mail = Items.Item(i);
        if (mail != null)
        {
            mail.Account = (RDOAccount)POP3Account;
            int tag = mail.GetIDsFromNames("{00020386-0000-0000-C000-000000000046}", "X-Mailer");
            mail.Fields[tag] = _xmailerTag;
            mail.Save();
            mail.Send();
        }
    } catch {
    }
}

1 个答案:

答案 0 :(得分:0)

您永远不要触摸发件箱文件夹中的邮件-从用户单击“发送”按钮起,它们就由传输提供商拥有。

如果您需要进行这样的修改,请在Application.ItemSend事件处理程序中进行此操作-这是您在实际发送外发消息之前触摸它的最后机会。