public static void SendLocalOrRemote(MessageItem messageItem, bool copyToSentItems = true, bool ignoreSendAsRight = true) { MailboxSession mailboxSession = messageItem.Session as MailboxSession; if (mailboxSession != null && mailboxSession.MailboxOwner.MailboxInfo.IsAggregated && mailboxSession.ActivitySession != null) { messageItem.From = CalendarItemBase.GetAggregatedOwner(mailboxSession); if (messageItem.StoreObjectId == null) { messageItem.Save(SaveMode.NoConflictResolution); messageItem.Load(); } messageItem.RemoteSend(); return; } SubmitMessageFlags submitFlags = ignoreSendAsRight ? SubmitMessageFlags.IgnoreSendAsRight : SubmitMessageFlags.None; if (copyToSentItems) { messageItem.Send(submitFlags); return; } messageItem.SendWithoutSavingMessage(submitFlags); }