Sie müssen die Content-Transfer-Encoding für den MIME-Teil der Anlage angeben. Ich weiß nicht, ob Uuencode ein Standard ist. Base64 ist jedoch.
Sie müssen auch die schließende Begrenzungsmarkierung senden.
Ihre Weiterleitung zu Katze ist falsch.
(cat << ! From: $FROM To: $TO Subject: $SUBJECT Date: $(date +"%a, %b %e %Y %T %z") Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="$boundary" This email has attached the file --$boundary Content-Type: text/plain; charset=ISO-8859-1 Please see the attachmed file. --$boundary Content-Transfer-Encoding: base64 Content-Type: $MIME;name="$ATTACH1" Content-Disposition: attachment;filename="$ATTACH1" $(base64 "$ATTACH1") --$boundary-- ! ) | sendmail -v "$TO"