telnetメール送信2(debian)

※実際には9/8のネタです。

※実行するのは、自身のテスト環境のみ。

以下のはじめの「$」を除いてコピペ、
dateの引数のシングルクォーテーションを編集で再入力、
実行権限を付けて実行するだけ。

----
$ echo '#!/bin/sh -x

TDATE=`date '+%Y/%m/%d %H:%M'`
THOST=`hostname -s`
PORT=25

FFQDN=`hostname -f`
FUSER=`whoami`

RFQDN=$2
RUSER=$1

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

----
$ chmod +x telnetmail.sh
$ ./telnetmail.sh `whoami` `hostname -f`


Q. 以下のページと何が違うの?

http://ameblo.jp/labunix/entry-10999727520.html

A. 送信先が変えられます。
  以下のように。

■ユーザをリスト化。

$ for list in uer1 user2 user3;do \
./telnetmail.sh ${list} `hostname -f` \
sleep 1; \
done

Q. それだけ?

A. 例えば、無限メール送信でも。。。

■無限ループで自身宛て。

$ whle true;do \
./telnetmail.sh `whoami` `hostname -f` \
sleep 1; \
done

■もっと色々出来ますが、tcpdump で引っ掛けながら、
 パケットのプレインテキストを眺めるという用途では、これで充分だと思います。

■追記
 後で試したら、「'」がうまく処理出来てなかったので。

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' > mytelnetmail.sh; \
sed s^'+%Y/%m/%d %H:%M'^\'\&\'^ mytelnetmail.sh > newtelnetmail.sh; \
chmod +x newtelnetmail.sh; \
./newtelnetmail.sh