저는 bash 스크립팅에 익숙하지 않습니다. 그러나 스패머가 포함 할 수있는 스크립트를 추적 할 수 있도록 다음 스크립트를 통해 PHP의 sendmail이 라우팅됩니다.
$ PWD 변수가 파일의 작업 디렉토리 만 보여주는 파일 이름을 표시하지 않습니다.
배쉬 스크립트 :/usr/지방/빈/sendmail2
#!/bin/sh
# Logging sendmail wrapper
SENDMAIL="/usr/sbin/sendmail -t -i"
LOGFILE="/home/mail.log"
DT=`date "+%Y-%m-%d %H:%M:%S"`
DTFN=`date "+%Y%m%d-%H%M%S"`
#TMPFP=`tempfile --prefix=lsm_`
TMPFP=`mktemp`
cat | tee "$TMPFP" | $SENDMAIL $*
RETVAL=$?
TO=`grep "To:" <"$TMPFP"`
rm -f "$TMPFP"
echo "$DT: $PWD sent $TO" >> $LOGFILE
exit $RETVAL
테스트 스크립트를 /home/mysite/test.php :
<?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
php.ini 파일 :
sendmail_path = "/usr/local/bin/sendmail2"
'$ PWD'는 _print 작업 디렉토리 _ – user000001
입니다.'pwd' 명령은 "print working directory"를 나타내지 만,'$ PWD' 변수는 "현재 작업 디렉토리"입니다. – dogbane