4Stepで出来るtelnetによるメール自動送信

■参考URL

http://www.upken.jp/kb/MufpwKGwAWqKZSUeVJqCVxRNMrYUmw.html

■Step1 以下をコピペで実行(先頭の「$」は除く)

$ echo '#!/bin/sh -x

TDATE=`date '+%Y/%m/%d %H:%M'`
TFQDN=`hostname -f`
TUSER=`whoami`
PORT=25
TPASS=$1
THOST=`hostname -s`

(sleep 1; echo "EHLO ${THOST}";
sleep 1; echo "MAIL FROM: ${TUSER}@${TFQDN}";
sleep 1; echo "RCPT TO: ${TUSER}@${TFQDN}";
sleep 1; echo "DATA"
sleep 1; echo "From: MAIL ${TUSER} <${TUSER}@${TFQDN}>"
echo "Subject: mail from ${TUSER}"
echo "To: MAIL <${TUSER}@${TFQDN}>"
echo "${TDATE}"
echo "."
sleep 1; echo "QUIT"
sleep 1; echo; ) | telnet $THOST $PORT
' > telnetmail.sh

■Step2 パスワードを変数として設定する

$ PASSWORD=mypass

■Step3 実行権限を与え、telnetmail.shにパスワード変数を与えて実行する。
$ chmod +x telnetmail.sh && ./telnetmail.sh $PASSWORD

※実はログイン済みのユーザであることが前提の為、
 「$TPASS」には何も与えなくても実行できる。
 「-x」は動作を確認したら、削除してよい。

■Step4 ログに残したい場合は例えば以下のようにする。

$ ./telnet.sh $PASSWORD | tee -a telnetmail.log

※「-x」も一緒に残したい場合は以下のようにする。

$ ./telnet.sh $PASSWORD 2>&1 | tee -a telnetmail.log

⇒自分自身への送受信テストが簡単に出来る。
 送信先も変数を変えればいいだけ。