Use Attachment Filters

@since JEMH 2.2.5 (JIRA7.4.x+) 

Introduction

Attachment Filters are a way to expose specific customization over how attachments are handled.  Historically this has covered things like email cryptographic signature files that would not be used and would not be useful in JIRA.

Currently only one targeted type is exposed as a Filter, but its definition allows further 3rd parties to write their own filters, enabling low level control over whether to filter an attachment or not.

Project Mappings

Attachment Filters have been implemented inside Project Mappings which feeds into our roadmap plan to not add more Profile-level complexity, but to push it down into Project Mappings, enabling per-project decisions.  If a Profile has a Default Project Mapping, its settings will be inherited by all other Project Mappings.

Systems upgrading will find the default Project Mapping having this filter added by default, to achieve the same behaviour as previously.  Where no Default Project Mapping exists, each standard Project Mapping will have this filter enabled.  When the first Project Mapping is added to a Profile, it will be the Default, and as such will have this filter enabled by default.

Available Filters

Winmail.dat Filter

The winmail.dat filter will exclude winmail.dat when found.  This file comes from a Microsoft Exchange environment, when correctly configured to talk to the rest of the world, emails contain both content in TEXT and HTML formats to enable the rest of the world to read the content.  The winmail.dat file can be interpreted by Microsoft email clients for a nice look and feel.  If the sending Exchange server has been configured to not include TEXT and HTML variants, and/or to not include attachments directly and only provide that content inside the proprietary winmail.dat blob file, then JEMH and JIRA will be unable to process the message.  This filter, if disabled, allows the file to be added to the issue, potentially opening the door to 3rd party processing of that file (for background read JSDSERVER-4383 ).