6月は休日がナイね!

spamassassin をすり抜けるメールが多くなってきたので,
メールチェック時にメールをケータイに転送するのを止め,
送信元と件名のみを送るスクリプトを書いてみた.

#!/bin/sh
WORKDIR=${HOME}/xxx
MAILDIR=${HOME}/Maildir
CHKLIST=${WORKDIR}/m_checkedlist
TMPLIST=${WORKDIR}/m_tmplist
TMPLIST2=${WORKDIR}/m_tmplist2
TMP=${WORKDIR}/m_tmp
MSSG=${WORKDIR}/m_message
if [ ! -e ${CHKLIST} ]; then
echo "There is no checked list"
touch ${CHKLIST}
echo "make list: ${CHKLIST}"
fi
cat /dev/null > ${TMP}
cat /dev/null > ${TMPLIST}
cat /dev/null > ${TMPLIST2}
cat /dev/null > ${MSSG}
COUNT=0
for DIR in "${MAILDIR}/cur/" "${MAILDIR}/new/"; do
cd ${DIR}
if [ -n "`ls`" ]; then
for MAIL in `ls`; do
if [ ! -n "`cat ${CHKLIST} | grep ${MAIL}`" ]; then
echo `cat ${MAIL} | grep From: | \
sed 's/From:/F:/g' | nkf -j` >> ${TMP}
echo `cat ${MAIL} | grep Subject: | \
sed 's/Subject:/S:/g' | nkf -j` >> ${TMP}
let "++COUNT"
echo ${MAIL} >> ${TMPLIST}
else
echo ${MAIL} >> ${TMPLIST2}
fi
done
fi
done
if [ ! -s ${TMPLIST} ]; then
echo "No mail."
else
echo "There are ${COUNT} new mails."
echo "> ${COUNT} new mails." > ${MSSG}
cat ${TMP} >> ${MSSG}
cat ${MSSG} | mail -s "${COUNT} new mails" xxxx@ezweb.ne.jp
(cat ${TMPLIST}; cat ${TMPLIST2}) > ${CHKLIST}
fi
rm -rf ${TMP} ${TMPLIST} ${TMPLIST2} ${MSSG}
# end