📄 mail_check.sh
字号:
#!/bin/sh## This is the mail file#MY_NAME="ELM" # your nameMY_EMAIL="email@domain" # your emailBIRTHDAY_TITLE="祝福你生日快乐--From $MY_NAME"HOME_DIRECTORY="/home/elm/mail" # program home dirBIRTHDAY_BODY="birthday.txt"BIRTHDAY_ATTACH="attach/xuyuan.swf"DATA_PATH=dataENTER="
"SPECIAL_CFG=conf/special_date.cfgALL_FRIENDS_CFG=conf/all_friends.cfgSIGN_FILE="conf/sign.txt"OPENSSL=/usr/bin/opensslOPENSSL_OPTIONS="base64"FILE_OPTIONS="-m conf/magic -i"split="Best_wishs_to_you_This_mail_from_${MY_NAME}"PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATHSENDMAIL="/usr/sbin/sendmail -t"TODAY=`date '+%m-%d'`FULL_DATE=`date '+%a, %d %b %Y %H:%M:%S %z'`DATE=`date '+%m-%d-%Y'`mail_to_all() { ALL_USER=`cat ${ALL_FRIENDS_CFG} | grep -v "^#"` num=1 for m in $ALL_USER do# echo $num ${m} case "${num}" in 1) birthday=${m} ;; 2) name=${m} ;; 3) prettyname=${m} ;; 4) num=0 if [ "${special_date}" = "${DATE}" -o "${special_date}" = "${TODAY}" -o "${birthday}" = "${TODAY}" ]; then TO=`echo ${m} | sed -e 's/^/"'${name}'" </' -e 's/$/>/' -e 's/,/>, "'${name}'" </g'` TMPFILE=tmpmail.${name} cat <<EOF > ${TMPFILE}From: "${MY_NAME}" <${MY_EMAIL}>To: ${TO}Bcc: "${MY_NAME}" <${MY_EMAIL}>Return-Path: "${MY_NAME}" <${MY_EMAIL}>Subject: ${prettyname},${comment}Date: ${FULL_DATE}MIME-Version: 1.0Content-Type: multipart/mixed; boundary="${split}"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook Express 6.00.2800.1158Disposition-Notification-To: "${MY_NAME}" <${MY_EMAIL}>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165This is a multi-part message in MIME format.--${split}Content-Type: text/plain; charset="gb2312"Content-Transfer-Encoding: 8bitEOFcat ${DATA_PATH}/${mailfile} | sed -e 's/@@NAME@@/'${prettyname}'/' -e 's/ / /' >> ${TMPFILE}cat ${SIGN_FILE} | sed -e 's/@@DATE@@/'${DATE}'/' -e 's/ / /' >> ${TMPFILE}# check attachmentif [ -n "${attach}" ]; then MIME_TYPE=`file ${FILE_OPTIONS} ${attach} | cut -d' ' -f2 | sed -e 's/,/;/'` FILE_NAME=`basename ${attach}`cat <<EOF >> ${TMPFILE}--${split}Content-Type: ${MIME_TYPE} name="${FILE_NAME}"Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="${FILE_NAME}"EOF ${OPENSSL} ${OPENSSL_OPTIONS} < ${attach} >> ${TMPFILE}ficat <<EOF >> ${TMPFILE}--${split}--EOF cat ${TMPFILE} | sed -e 's/$/'${ENTER}'/' > .tmpmail mv .tmpmail ${TMPFILE} cat ${TMPFILE} | ${SENDMAIL} rm -f ${TMPFILE} echo "${DATE} mail to: ${TO}" >> logs/maillog fi ;; *) ;; esac num=`expr ${num} + 1` done}cd $HOME_DIRECTORYecho "===== Begin check mail user at ${DATE} =====" >> logs/maillogSPECIAL=`cat ${SPECIAL_CFG} | grep -v "^#"`count=1for i in $SPECIALdo# echo ${count},${i} case "${count}" in 1) special_date=${i} ;; 2) comment=${i} ;; 3) mailfile=${i} ;; 4) count=0 attach=`echo ${i} | sed -e 's/-//'` if [ "${special_date}" = "${TODAY}" -o "${special_date}" = "${DATE}" ] then mail_to_all fi ;; *) ;; esac count=`expr ${count} + 1`donespecial_date=""comment=${BIRTHDAY_TITLE}mailfile=${BIRTHDAY_BODY}attach=${BIRTHDAY_ATTACH}mail_to_allecho "====== ${DATE} end of check mail user ======" >> logs/maillog
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -