我正在使用Redemption.dll为C#中set_Filed()和get_field()的消息设置自定义属性。一切都很完美,直到我发送信息的那一刻。 从Outlook我使用RDOMail.Send(),这将消息发送到草稿文件夹。然后我在Redemption FAQ中读到我应该使用IMessage :: Submit()方法(我在.NET的dll中找不到任何地方),然后使用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
{
}
}
谢谢。