Я использую Redemption.dll для установки пользовательских сообщений в мои сообщения с помощью set_Filed () и get_field () в C #. Все работает отлично, пока я не отправлю свои сообщения.
Из Outlook я использую RDOMail.Send (), и это отправило сообщение в папку «Черновики». Затем я прочитал в FAQ по выкупу, что я должен использовать метод IMessage :: Submit () (который я не смог найти нигде в dll для .NET), а затем использовать метод DeliverNow (), который я использовал, но к своему удивлению когда я получаю свои сообщения, я теряю установленные мной свойства.
Это действительно очень важно для нашего проекта, так как если Outlook не может отправлять письма, это ничего не стоит.
Вот часть моего кода.
private void adxOutlookEvents_ItemSend(object sender, AddinExpress.MSO.ADXOlItemSendEventArgs e)
{
try
{
RDOSessionClass _RDOSession= MessagesActions.GetRDOSession();
Outlook.MailItem _MailItem= e.Item as Outlook.MailItem;
RDOMail _RdoMail = MessagesActions.GetRDOMail(_RDOSession, _MailItem);
_RdoMail.Send(); // Send using Redeption
e.Cancel = true; // Only send using Redeption
if (_RdoMail != null && Marshal.IsComObject(_RdoMail))
Marshal.ReleaseComObject(_RdoMail);
Redemption.MAPIUtils _MAPIUtils = new MAPIUtils();
_MAPIUtils.DeliverNow(0, 0);
if (_MAPIUtils != null && Marshal.IsComObject(_MAPIUtils))
Marshal.ReleaseComObject(_MAPIUtils);
CurrentInspector.Close(Outlook.OlInspectorClose.olDiscard);
}
catch
{
}
}
Спасибо.