我目前正在开发一个自动处理邮箱邮件的应用程序。我们使用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();
问题
提前致谢!!
答案 0 :(得分:1)
问题是转发的邮件是在配置文件中的主存储中创建的,而不是委托邮箱。
除了设置Sender属性之外,您是否尝试过设置SentOnBehalfOf属性?