Under Mathematica 11, I have cobbled together an Import Converter that is able to handle simple cases of Apple Mail emlx files. I did this because, without the Importer, emlx files are imported either as text or as HTML. Further, attempting to import by passing "EML" as the format, fails completely.
After placing Import.m and Converter.m in ~/Library/Mathematica/SystemFiles/Formats/EMLX, $InputFormats does include 'emlx'.
EDIT: I have since determined that the minimum for a format to be listed in the results of $ImportFormats is a zero length Import.m file located within a directory matching the file extension within the SystemFiles/Formats directory. Which calls into question, IMO, the accuracy of the documentation covering RegisterImport.
Unfortunately, emlx files still import as either HTML or Text. Ideally, I would want FileFormat["foo.emlx"] to return "EMLX" as its result. Currently, it returns HTML, TSV, CSV, or Text.
I have done the simple registration mechanism, also I tried to emulate that of the EML, and other example formats, yet still the Import framework is failing to automatically load the correct Converter. This leads me to believe that there is more that I have somehow missed to the registration process than placing Import.m, Converter.m, into a Format Directory and calling the registration mechanism.
The simplest registration I have done is :
ImportExport`RegisterImport[
"EMLX",
EMLX`EMLXImportExport
];
Again, it works when explicitly referenced. Yet it doesn't seem to autoload for some reason.
Interestingly, Wolfram Desktop does not list the EMLX format at all. Because of this, I'm inclined to believe that Mathematica and Wolfram Desktop files belong under ~/Library/Application Support rather than at the top level of any domain Library folder. Simply put, that would make it clear that these are specific to the installed App rather than applying to Wolfram products as a whole.
Importfor a specific file ending: Registering/detecting an importer by file name extension, try that approach and see if it works for you. – C. E. Sep 02 '16 at 07:23Importmyself, so I wasn't sure that it was going to work. Another example of this type of overwrite is the BVH Importer. You can scroll to the end of that answer to view the package, then scroll to the end of the package to see the wayImportis overwritten. Hopefully someone can explain why it might not work. (It has to do with the precedence of the variousDownValuesofImport, but it's unclear why those rules don't take precedence because they are very specific.) – C. E. Sep 02 '16 at 08:30