参考ページThunderbirdを起動→メニューの[表示]→メッセージのソースでメールのソースコードも参考にした。
$ sh smtp_attachment.sh test.jpg
#!/bin/bash
FILENAME=$1
ENCODE_RESULT=`base64 ${FILENAME}`
(
sleep 1s
echo "EHLO wakaranai.doshiyomonai.ne.jp"
sleep 1s
echo "MAIL FROM: tasukete@muryoku.ocn.ne.jp"
sleep 1s
echo "RCPT TO: tanomuseikoshite@gmail.com"
sleep 1s
echo "DATA"
sleep 1s
echo "MIME-Version: 1.0"
sleep 1s
echo "From:tasukete@muryoku.ocn.ne.jp"
sleep 1s
echo "To:tanomuseikoshite@gmail.com"
sleep 1s
echo "Subject:TEST bash source code read"
sleep 1s
echo "Content-Type: image/jpeg;"
sleep 1s
echo ' name=\"test.jpg\"'
sleep 1s
echo "Content-Transfer-Encoding: base64"
sleep 1s
echo "Content-Disposition: attachment;"
sleep 1s
echo ' filename=\"test.jpg\"'
sleep 1s
echo "${ENCODE_RESULT}"
sleep 1s
echo "."
sleep 1s
echo "QUIT"
) | telnet wakaranai.doshiyomonai.ne.jp 25
かなり小さいことで気づくまで時間がかかったが「name」と「filename」の前に半角でホワイトスペースを入れないと正常にファイル名が表示されない。
結果: