#!/bin/bash # Open attachment with correct extension based on mime type tmpfile=$(mktemp) cat >"$tmpfile" mime=$(file --mime-type -b "$tmpfile") case "$mime" in application/pdf) ext=".pdf" ;; image/png) ext=".png" ;; image/jpeg) ext=".jpg" ;; image/gif) ext=".gif" ;; text/html) ext=".html" ;; text/plain) ext=".txt" ;; application/zip) ext=".zip" ;; application/msword) ext=".doc" ;; application/vnd.openxmlformats-officedocument.wordprocessingml.document) ext=".docx" ;; application/vnd.ms-excel) ext=".xls" ;; application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) ext=".xlsx" ;; application/vnd.ms-powerpoint) ext=".ppt" ;; application/vnd.openxmlformats-officedocument.presentationml.presentation) ext=".pptx" ;; *) ext="" ;; esac if [[ -n $ext ]]; then mv "$tmpfile" "${tmpfile}${ext}" tmpfile="${tmpfile}${ext}" fi open "$tmpfile"