2009年6月20日土曜日

SMTPによるファイル送信をbashで行う

参考ページ
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」の前に半角でホワイトスペースを入れないと正常にファイル名が表示されない。
結果:

0 件のコメント:

コメントを投稿