When DLP policy is enabled, Redemption fails with the error: "All business e-mail messages are protected based on a policy set in your organization. There was an error opening the protected e-mail message."
ulLowLevelError: 2147746578 (i.e. 0x80040312)
ulContext: 805701633 (0x30060801)
Is there any way around this?
The error occurs when trying to access the IPMRootFolder
property of a Store
object:
// A previous version of the code was multi-threaded, it is no longer.
Session = OutlookRpcLoader.new_RDOSession();
Session.Logon(ProfileName: profile, ShowDialog: false, NewSession: true);
var stores = Session.Stores;
var store = stores["{STORE-NAME}"];
var root = store.IPMRootFolder;
The call stack shows that Redemption.IRDOStore.get_IPMRootFolder()
threw the exception.
This is seen when using Redemption version 5.22.0.5498 loaded via the RedemptionLoader
class in .NET (registry-free COM).
When testing with Redemption version 5.19.0.5238 from VBScript using CreateObject()
, the error doesn't occur.
Could anything have changed between v5.19 and v5.22?
I believe this was caused by AppLocker rules blocking unsigned binaries. The resolution was to either code-sign the files or add the program to the AppLocker allow-list.