We (WPF Desktop App) intend to use the Redemption library to prepare emails and send them (previously opened in Outlook). I have observed different behaviors between classic and new Outlook. Specifically, in the classic version, the email is only saved in the Draft folder, but the Inspector window does not open. In the new Outlook, everything works. Additionally, we rely on Windows Server VMs that only offer the classic Outlook version.
What have we misunderstood or done wrong? How can we ensure that the session connects to the correct Outlook version? What path can you recommend to us in light of Microsoft's plan to support the classic Outlook version only until 2029?
Attached is our attempt. Thank you!
RDOSession session = new RDOSession();
System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("OUTLOOK");
if (procs.Length == 0)
{
session.Logon(null, null, false, true, null, false);
}
else
{
session.Logon(null, null, false, false, null, false);
}
RDOFolder draftsFolder = session.GetDefaultFolder(rdoDefaultFolders.olFolderDrafts);
RDOMail mail = draftsFolder.Items.Add(rdoItemType.olMailItem) as RDOMail;
mail.Subject = template.Subject;
mail.Body = template.Body;
...
mail.Save();
mail.Display(true);
The new Outlook (which is essentially an embedded browser running JS downloaded from an Office 365 server) does NOT install, use, or depend on the Extended MAPI system used by desktop Outlook. The new Outlook provides no client-accessible API, nothing even remotely close to what desktop Outlook exposes (Outlook Object Model, Extended MAPI, etc.).
Your code above uses Extended MAPI (through Redemption), and when you call RDOMail.Display
, its runs outlook.exe (since that is what implements the Extended MAPI Form object invoked by RDOMail.Display