Duplicati left the subject alone on the failed backup. This was an aborted backup so it was an expected error!
Duplicati sent the email in the same form as a successful backup just the body of message is what killed duplicati.
Subject remained “Duplicati Backup report for Test@B2” body contained the usual error stuff
Failed: Thread was being aborted.
Details: System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.WaitHandle.WaitOneNative(SafeHandle waitableSafeHandle, UInt32 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext)
at System.Threading.WaitHandle.InternalWaitOne(SafeHandle waitableSafeHandle, Int64 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext)
at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout, Boolean exitContext)
at Duplicati.Library.Utility.BlockingQueue`1.Enqueue(T item)
at Duplicati.Library.Main.BackendManager.WaitForEmpty(LocalDatabase db, IDbTransaction transation)
at Duplicati.Library.Main.Operation.BackupHandler.Run(String[] sources, IFilter filter)
at Duplicati.Library.Main.Controller.<>c__DisplayClass16_0.<Backup>b__0(BackupResults result)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)
Hence dupreport probably also needs some kind of error handling with %PARSEDRESULT% being processed in the subject line. If nothing more than the timestamp and failed in the report.
The %PARSEDRESULT% has possible values are Error, Warning, Success
Edit just forced another aborted upload, seems %PARSEDRESULT% also has “Fatal”
edit2:
After thinking about this some more I think subjectregex should be something like
subjectregex = ^Duplicati Backup \((Success|Error|Warn)\) report for
Assuming duplicati creates the proper output with Error and Warn dR will process the ParsedResult: in the email correctly. Not sure how to force Duplicati to create a warning/error message now that I need one.
Something separate to handle the Fatal error that %PARSEDRESULT% = Fatal maybe all that is needed