Took me a while to figure this out, I was trying to send a .gz file as an attachment and it wasn't being processed. For some reason the code requires an extension to be 3 or 4 characters long, which certainly isn't always the case.
This change to canUploadFileType() in class.config.php allows extensions to be any length > 0:
447c447
< $ext = strtolower(preg_replace("/.*\.(.{3,4})$/", "$1", $filename));
---
> $ext = strtolower(preg_replace("/.*\.(.+)$/", "$1", $filename));