diff --git a/src/misc/importanceHelper.cpp b/src/misc/importanceHelper.cpp index 96f80183..37612085 100644 --- a/src/misc/importanceHelper.cpp +++ b/src/misc/importanceHelper.cpp @@ -63,6 +63,7 @@ const importanceHelper::Importance importanceHelper::getImportance(const ref hdr) { + // Try "X-Priority" field try { const ref fld = hdr->findField("X-Priority").dynamicCast (); @@ -88,15 +89,24 @@ const importanceHelper::Importance importanceHelper::getImportance(const ref fld = hdr->findField("Importance").dynamicCast (); - const string value = utility::stringUtils::toLower(utility::stringUtils::trim(fld->getValue())); + // Try "Importance" field + try + { + const ref fld = hdr->findField("Importance").dynamicCast (); + const string value = utility::stringUtils::toLower(utility::stringUtils::trim(fld->getValue())); - if (value == "low") - return (IMPORTANCE_LOWEST); - else if (value == "high") - return (IMPORTANCE_HIGHEST); - else + if (value == "low") + return (IMPORTANCE_LOWEST); + else if (value == "high") + return (IMPORTANCE_HIGHEST); + else + return (IMPORTANCE_NORMAL); + } + catch (exceptions::no_such_field) + { + // Default return (IMPORTANCE_NORMAL); + } } // Should not go here...