IMAPIProp :: SaveChanges: MAPI_E_NO_ACCESS при попытке запустить операцию над объектом RDOMail - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь сохранить некоторые изменения в 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 голосов
/ 28 февраля 2019

Вы никогда не должны трогать сообщения в папке «Исходящие» - они принадлежат поставщику транспортных средств с момента нажатия пользователем кнопки «Отправить».

Если вам нужно сделать подобное изменение, сделайте это вApplication.ItemSend обработчик событий - это ваш последний шанс прикоснуться к исходящему сообщению, прежде чем оно действительно будет отправлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...