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

问题描述 投票:0回答:1

我试图保存对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 {
    }
}
c# outlook office365 ms-office outlook-redemption
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.