¡¡Ä¿Ç°£¬ÔÚLinux/Unixƽ̨ÉÏ£¬SendmailÒò³ÉΪȱʡ°²×°µÄÓʼþ·þÎñÆ÷¶øµÃµ½·Ç³£¹ã·ºµÄÓ¦Óᣵ«ÊÇSendmail±¾Éí²¢²»¾ßÓÐÏÞ¶¨Óû§ÓÊÏä´óСµÄ¹¦ÄÜ£¬ËùÒÔ£¬Èç¹ûijЩÓû§³¤Ê±¼ä²»È¡ÐÅ»òÉ趨Á˱£ÁôÓʼþ¸±±¾£¬ÆäÐżþ½«ÔÚ·þÎñÆ÷Éϲ»¶Ï¶Ñ»ý£¬ÒÔÖÂÓÊÏäÔ½À´Ô½´ó£¬Õ¼ÓôóÁ¿µÄÓ²Å̿ռ䣬ºÜ¶àÍøÂç¹ÜÀíÔ±¶Ô´Ë¶¼ºÜÓÐÒâ¼û¡£ÕâÀï½éÉÜÒ»ÖÖ¼òµ¥ÊµÓõķ½·¨£¬Í¨¹ýËü£¬ ÎÒÃÇ¿ÉÒԺܷ½±ãÁé»îµØ¶ÔÓû§ÓÊÏäµÄ´óС½øÐÐÉ趨¡£
¡¡¡¡Ò»¡¢»ù±¾Ë¼Â·
¡¡¡¡---- ÏÈÉ趨һ¸öÓû§ÓÊÏä´óСµÄÃÅÏÞÖµ;È»ºó¶¨ÆÚÆô¶¯Ò»¸ö½ø³Ì£¬¼ì²éÿһ¸öÓû§ÓÊÏäÎļþµÄ´óС£¬½«ËùÓг¬¹ýÕâÒ»ÏÞÖµµÄÓÊÏäÎļþÃûÁÙʱд½øÄ³Ò»Ìض¨µÄÎļþÖÐ; ÔÙ¶ÁÈ¡¸ÃÎļþ£¬½«Ëüд½øSendmail µÄºÚÃûµ¥(blacklist_recipients) ÖУ¬´Ó¶øÊ¹Óʼþ·þÎñÆ÷¾ÜÊÕ¸ÃÓû§µÄÐÂÓʼþ£¬Ö±µ½Ï´μì²éʱ¸ÃÓÊÏä´óСÒÑСÓÚÉ趨µÄÃÅÏÞֵΪֹ¡£
¡¡¡¡¶þ¡¢ÔËÐл·¾³
¡¡¡¡---- ÎÒÃÇÒÔSolaris 2.7²Ù×÷ϵͳΪÀý½øÐÐ˵Ã÷£¬ÆäËûUnix(»òLinux)ϵͳ¿É²ÎÕÕÀ´×ö¡£
¡¡¡¡---- ±¾ÎÄÒÔSendmail 8.11.3ΪÀý£¬ÈôÎ޸ð汾µÄSendmailÔËÐÐÈí¼þ£¬¿Éµ½http://freesoft.cei.gov.cn»ò http://www.sendmail.orgÕ¾µãÏÂÔØ¡£
¡¡¡¡Èý¡¢¾ßÌå²Ù×÷
¡¡¡¡---- 1£® ÏÂÔØ±àÒë
¡¡¡¡---- ÔÚSendmailÈí¼þ°üÒÑÏÂÔØµ½µ±Ç°Ä¿Â¼ºó¼´¿É½øÐбàÒ룬²Ù×÷²½ÖèÈçÏ¡£
¡¡¡¡---- -dc sendmail.8.11.3.tar.gz | tar -xf - (Gzip ÊÇÒ»¸öѹËõ/½âѹËõµÄ¹¤¾ß£¬Ï൱ÓÚ Windowsƽ̨ÉϵÄWinZip£¬ÔÚÍøÉÏÄܺÜÈÝÒ×µØÕÒµ½²¢ÏÂÔØ)
¡¡¡¡---- sendmail-8.11.3/sendmail
¡¡¡¡---- /Build
¡¡¡¡---- (±àÒëSendmail )
¡¡¡¡---- 2£® °²×°
¡¡¡¡---- # ./Build install
¡¡¡¡---- (Ó󬼶Óû§Éí·Ý°²×°)
¡¡¡¡---- 3£® Éú³ÉÅäÖÃÎļþ
¡¡¡¡---- # cd ../cf/domain
¡¡¡¡---- # vi generic.m4
¡¡¡¡---- ´Ëʱ£¬ÔÚÎļþµÄĩβÔö¼ÓÈçÏÂÁ½ÐÐÄÚÈÝ¡£
¡¡¡¡---- FEATURE('access_db','dbm /etc/mail/access')dnl
¡¡¡¡---- FEATURE('blacklist_ recipients')dnl
¡¡¡¡---- È»ºó£¬ÎÒÃÇ¿ÉÒÔ°´×ÅÊäÈëÒÔÏÂÄÚÈÝ¡£
¡¡¡¡---- # cd ../cf
¡¡¡¡---- # m4 ../m4/cf.m4 ./generic-solaris2.mc > ./sendmail.cf
¡¡¡¡---- # cp ./sendmail.cf /etc/mail/
¡¡¡¡---- 4£®Éú³É access Îļþ¼°Óʼþ·þÎñÆ÷Ãû³ÆµÄ²ÎÊýÎļþ
¡¡¡¡---- # cd /etc/mail
¡¡¡¡---- # makemap dbm access < /dev/null
¡¡¡¡---- # vi local-host-names
¡¡¡¡---- (¸ÃÎļþÊÇÒ»¸öÎı¾Îļþ£¬ÄÚÈÝΪ±¾µØÓʼþ·þÎñÆ÷µÄÓòÃûºÍ±ðÃû£¬ËüÃÇÖ®¼äÒªÓûسµ·Ö¸ô¡£Ïê¼ûReadmeÎļþµÄÓйؽéÉÜ)
¡¡¡¡---- 5£® Æô¶¯Sendmail
¡¡¡¡---- # /usr/lib/sendmail -bd -q30m
¡¡¡¡---- 6£® ±à¼©ÏÞÖÆÓÊÏä´óСµÄ³ÌÐò
¡¡¡¡---- ÓÃshÃüÁî±à¼©Ò»¸öÏÞÖÆÓÊÏä´óСµÄ³ÌÐò£¬È»ºóÓòÙ×÷ϵͳµÄ¶¨Ê±Ö´Ðй¦ÄÜcrontabÉ趨ÆäÖ´ÐÐµÄÆµÂÊ£¬ÄÚÈÝÈçÏ¡£
¡¡¡¡---- # vi /etc/mail/limit_mailbox.sh
¡¡¡¡---- (ÄÚÈݼû¸½Â¼)
¡¡¡¡---- # chmod u+x /etc/mail/limit_mailbox.sh
¡¡¡¡---- # crontab -e
¡¡¡¡---- ½Ó×Å£¬ÎÒÃÇ¿ÉÒÔÊäÈëÒÔÏÂÄÚÈÝ¡£
¡¡¡¡---- 0 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 * * * /etc/mail/limit_mailbox.sh 10
¡¡¡¡---- Ëü±íʾÔÚÿÌì6:00¡«20:00¼ä£¬Ã¿¸ô1СʱÆô¶¯Ò»´Î£¬¼ì²éÓÊÏä´óСµÄshÃüÁî¡£Óû§Ò²¿É¸ù¾Ýʵ¼ÊÇé¿ö½øÐе÷Õû¡£¡°10¡±±íʾÓÊÏä´óСµÄÃÅÏÞֵΪ10MB¡£
¡¡¡¡ËÄ¡¢¸½Â¼limit_mailbox.sh Ô´´úÂë
¡¡¡¡---- #!/usr/bin/ksh
¡¡¡¡---- # search the mailbox larger than MAXSIZE , then set this mailbox full and reject new mails
¡¡¡¡error() {
¡¡¡¡echo " "
¡¡¡¡exit 1
¡¡¡¡}
¡¡¡¡BIN=/usr/bin
¡¡¡¡MAIL=/etc/mail
¡¡¡¡#Sendmail ²ÎÊýÎļþËùÔÚµÄĿ¼
¡¡¡¡MAILDIR=/var/mail
¡¡¡¡#´æ·ÅÓÊÏäÎļþµÄĿ¼
¡¡¡¡ACCESS=access.db
¡¡¡¡#ÓÃÓÚÁÙʱ´æ·Å³¬¹ýÃÅÏÞÖµµÄÓÊÏäÃû
¡¡¡¡SUBACCESS=access.sub
¡¡¡¡#ÓÃÓÚ´æ·Å¶îÍâµÄÊÕ¡¢×ª·¢ÏÞÖÆ¹æÔò
¡¡¡¡if [ -lt 1 ]; then
¡¡¡¡error "Must set the MAX mailbox size with the command!"
¡¡¡¡fi
¡¡¡¡if [ -le 0 ] ; then
¡¡¡¡error " Mailbox Size < 0, Failed"
¡¡¡¡fi
¡¡¡¡((MAXSIZE=*1024*1024))
¡¡¡¡if [ -f / ]; then
¡¡¡¡/cat / > / ' '
¡¡¡¡error "piping /sintos/,
¡¡¡¡Failed"
¡¡¡¡else
¡¡¡¡> /' 'error "clearing /, Failed"
¡¡¡¡fi
¡¡¡¡cd ' 'error "entering Failed"
¡¡¡¡for box in '/find .
¡¡¡¡! -user root -size +""c -type f -print'; do
¡¡¡¡case in
¡¡¡¡.|..|./.*.pop)
¡¡¡¡;;
¡¡¡¡*)
¡¡¡¡mailuser=
¡¡¡¡echo "To:@
¡¡¡¡ERROR:550 's Mailbox is full " >> /
¡¡¡¡;;
¡¡¡¡esac
¡¡¡¡done
¡¡¡¡cd || error " entering Failed"
¡¡¡¡/usr/sbin/makemap dbm access
¡¡¡¡< ./ || error "makemaping access Failed"
¡¡¡¡exit 0'