使用Outlook Redemption从原始邮件地址转发RDOMail

时间:2013-05-17 08:02:21

标签: c# .net exchange-server mapi outlook-redemption

我目前正在开发一个自动处理邮箱邮件的应用程序。我们使用Outlook Redemption工具并将一个服务帐户连接到多个Exchange邮箱。

案例

我们遇到的问题是从原始邮箱转发邮件。说服务帐户' A'处理共享邮箱' B'并转发邮件。我希望发件人成为' B'的邮件地址,但是当我收到邮件时,邮件地址是' A'显示为发件人。

源代码

// Initialize the session with the service account.
_session = new RDOSession();
_session.LogonExchangeMailbox(configurationSettings.MailAddress, configurationSettings.Url);

// Connect to the target mailbox and retrieve mail message.
RDOStore store = _session.Stores.GetSharedMailbox(targetMailBox);
RDOMail originalMailItem = store.GetMessageFromID(entryId);

// Creates a forwarded version of the mail.
RDOMail forwardMailItem = originalMailItem.Forward();

// Set sender to target mailbox owner.
if (store is RDOExchangeMailboxStore)
{
   forwardMailItem.Sender = ((RDOExchangeMailboxStore)store).Owner;
   forwardMailItem.SenderEmailAddress = targetMailBox;
}

// Set recipient and send.
forwardMailItem.Recipients.Clear();
forwardMailItem.Recipients.Add(forwardMailAddress);
forwardMailItem.Send();

问题

  • 任何人都能找到解决方案的线索吗?
  • 如果这不起作用,是否可以获得' B'的邮件地址。在'代表'规则?

提前致谢!!

1 个答案:

答案 0 :(得分:1)

问题是转发的邮件是在配置文件中的主存储中创建的,而不是委托邮箱。

除了设置Sender属性之外,您是否尝试过设置SentOnBehalfOf属性?