我正在尝试保存对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 {
}
}
答案 0 :(得分:0)
您永远不要触摸发件箱文件夹中的邮件-从用户单击“发送”按钮起,它们就由传输提供商拥有。
如果您需要进行这样的修改,请在Application.ItemSend
事件处理程序中进行此操作-这是您在实际发送外发消息之前触摸它的最后机会。