1. ½éÉÜ
1.1. ÊʺÏÔĶÁ±¾ÎĵĶÁÕß
Life with qmail µÄÄ¿±ê¶ÁÕßÊÇÄÇЩ¶ÔqmailÓÐÐËȤ, È´±»¹éÀàÓÚÒµÓà°®ºÃÕß, ÐÂÊÖµÄÈË, ÄÇЩÔÚһ̨¿ÕÏÐ(ÔÎÄΪ: a spare PC ÒëÕß×¢)PC»úÉϲÙ×÷Linux, Ï£ÍûÈÕºó³ÉΪ¾Ñé·á¸»µÄϵͳ¹ÜÀíÔ±»òÓʼþϵͳ¹ÜÀíÔ±µÄÈËд×÷µÄ. Èç¹ûÄã·¢ÏÖÎÄÕÂÖÐÓÐȱÏÝ»òÕß²»Çå³þµÄµØ·½, ÇëÓõç×ÓÓʼþ¸æËßÎÒ. (Ó¢ÎÄ) lwq at sill dot org. (ÒëÕߵĵç×ÓÓʼþ: Jerry underline ZhiJun(@)21cn.com ÒëÕß×¢).
¸÷ÖÖ²»Í¬µÄÀ´Ô´´æÔÚ×ŷḻµÄ qmailÏà¹ØÐÅÏ¢. ÆäÖÐһЩÊÇÒÔÐÂÊÖΪĿ±ê, ÁíÍâһЩ¼Ù¶¨¶ÁÕß¾ßÓбȽ϶àµÄ¾Ñé, Life with qmail ¾ÍÊÇһƪÊÔͼ³ÉΪ"½ºË®"ÐÔÖʵÄÎÄÕÂ, ¼¯ºÏÕâЩÐÅϢΪһÌå, ²»¹ý¶ÁÕß±ØÐëÊ×ÏÈÕÆÎÕÏÂÃæÕâЩ»ù´¡ÖªÊ¶:
- ÔÚUNIX»·¾³ÏÂÊìÁ·µÄ²Ù×÷ÎļþºÍĿ¼µÄÄÜÁ¦
- »áʹÓÃwebä¯ÀÀÆ÷ºÍFTP¿Í»§¶ËÈí¼þ
- Äܹ»¶Á¶®ÏÂÃæµÄʹÓ÷½·¨
1.2. ʲôÊÇ qmail?
qmailÊÇÒ»¸öÒòÌØÍøÓʼþ´«ËÍ´úÀí, (Ó¢ÎÄ: Mail Transfer Agent, ¼òдΪMTA, ÒëÕß×¢) ËüÔËÐÐÔÚUNIX¼æÈÝϵͳÏÂ, ÊÇÒ»¸öÖ±½Ó´úÌæUNIXÏ SendmailÈí¼þµÄÓʼþ´«ËͳÌÐò. qmail ʹÓüòµ¥±¨ÎÄ´«ËÍ´úÀíÐÒé SMTP ´«ÊäÓʼþ(Simple Mail Transfer Protocol).
×¢Òâ: ËüµÄÃû×ÖÊÇ "qmail" , ¶ø²»ÊÇ "Qmail".
1.3. ΪʲôÓà qmail?
ÄãµÄ²Ù×÷ϵͳÈç¹û°üº¬Ò»¸öMTA, ÄǺÜÓпÉÄÜÊÇSendmail, ¶øÄãÔĶÁÁËÏÂÃæµÄÎĵµÖ®ºó, Äã¿ÉÄÜÏë(ÅׯúSendmail, ÁíÍâ)ÕÒÒ»¸ö¸üºÃµÄMTAÁË.
1.3.1. °²È«
qmail ÊÇÃæÏò°²È«¶øÉè¼ÆµÄ. Sendmail µÄÀúÊ·ÉϳöÏÖ¹ýºÜ¶àÑÏÖØµÄ°²È«ÎÊÌâ. ÔÚ±àдSendmailµÄʱ´ú, ÍøÂçÊǷdz£ÓѺõĵط½, ÿ¸öÔÚÍøÉϽ»Á÷µÄÈ˶¼Äܹ»ºÜÈÝÒ×µÄÁ˽â¶Ô·½, ¼¸ºõûÓбØÒªÎªÁ˰²È«¶øÉè¼ÆÈí¼þ, ±àд´úÂë. ¶øÏÖÔÚµÄÒòÌØÍø¶ÔÓÚÍøÂç·þÎñÆ÷È´ÊÇÏÕÏó´ÔÉú. Eric Allman, SendmailµÄ×÷Õß, ºÍĿǰµÄά»¤ÕßClaus Assman ΪÁ˼ÓÇ¿SendmailµÄ°²È«×öÁ˺ܶ๤×÷, µ«ÊÇÎÞÂÛÈçºÎ, ³ýÁËÖØÐÂÉè¼Æ, ÔõÑùµÄÐÞÕýÒ²²»ÄÜÈÃSendmail´ïµ½ÕæÕýµÄ°²È«.
1.3.2. ÐÔÄÜ
qmail ²¢Ðд¦ÀíÓʼþ´«ËÍ, ȱʡÅäÖÃÇé¿öÏÂ, Äܹ»´ïµ½20¸ö²¢ÐÐÓʼþͬʱ´«ËÍ.
1.3.3. ¿É¿¿ÐÔ
qmail±£Ö¤ÒѾ½ÓÊÕµÄÐÂÓʼþ²»±»¶ªÊ§, qmailʹÓÃÒ»ÖÖеÄÓÊÏä¸ñʽ, Æä¿É¿¿ÐÔ³¬¹ýÁËûÓÐÎļþËøµÄNFS´æ´¢ÏµÍ³.
1.3.4. ¼òµ¥Simplicity
qmail ±ÈÆäËûʵÏÖͬÑù¹¦ÄܵÄMTA¶¼ÒªÐ¡.
×¢Òâ: qmail µÄÕýʽÖ÷Ò³, http://cr.yp.to/qmail.html Óиü¶àµÄ qmail ÌØÉ«½éÉÜ.
1.4. ·¢Õ¹ÀúÊ·
qmailÓÉ Dan Bernstein (DJB)±àд, ¹ØÓÚËû¿ÉÒԲο¼ÕâÀïhttp://en.wikipedia.org/wiki/Daniel_J._Bernstein. ËûÏÖÔÚÈÎÖ°ÓÚ Illinois ´óѧ Chicago ·ÖУÊýѧ½ÌÊÚ. ËüÔÚÃÜÂëÊõÑо¿·½ÃæµÄ¹¤×÷, ÒÔ¼°Ëû¹ØÓÚÃÜÂëÊõÔ´´úÂëµÄ³ö°æÎÊÌâ¶ÔÃÀ¹úÕþ¸®µÄËßËÏÒ²ÊǺÜÓÐÃûµÄ, ¹ØÓÚÕâ´ÎËßËϵÄÇé¿öÏê¼û http://en.wikipedia.org/wiki/Bernstein_v._United_States »ò http://cr.yp.to/export.html ²é¿´¹ØÓÚËßËϵÄÐÅÏ¢. (¿ÉÄÜwikipediaÔÚÖйú´ó½ÎÞ·¨·ÃÎÊ, Çë²Î¿¼Ê¹ÓôúÀí»òÆäËû·½Ê½. ÒëÕß×¢)
µÚÒ»¸ö¹«¿ª·¢ÐÐµÄ qmail °æ±¾ÊÇ1996Äê1ÔÂ24ÈÕ·¢±íµÄ 0.70 beta °æ. µÚÒ»¸ö gamma ·¢ÐаæÊÇÔÚ1996Äê8ÔÂ1ÈÕµÄ0.90°æ.
µÚÒ»¸ö³£¹æ·¢Ðа汾ÊÇ1.0, ʱ¼äÊÇ1997Äê2ÔÂ20ÈÕ. ÏÖÔÚʹÓõÄ1.03°æ±¾, ·¢ÐÐÓÚ1998Äê6ÔÂ15ÈÕ.
Ô¤ÆÚÏÂÒ»¸ö°æ±¾½«ÊÇ2.0ÆÀ¹À°æ, ¼´½«ÔÚ2.0°æÀïÃæ³öÏÖµÄһЩй¦ÄÜ¿ÉÒÔÔÚhttp://cr.yp.to/qmail/future.html ÕÒµ½.
1.5. ÌØµã
qmail µÄwebÒ³ http://cr.yp.to/qmail.html ÁгöÁ˷dz£È«ÃæµÄqmailµÄÌØµã. ±¾½Ú¼´Õë¶ÔÕâ¸öÒ³ÃæÁгöµÄÌØµãÓèÒÔ×ÅÖØ½éÉÜ.
1.5.1. °²×°
- ×Ô¶¯ÊÊÓ¦ÓÚUNIXµÄ¸÷ÖÖ°æ±¾
- ×Ô¶¯ÊÊÓ¦ÓÚµ¥Ö÷»úÅäÖÃ
- ¿ìËÙ°²×°--²»±Ø×÷´óÁ¿µÄÅäÖù¤×÷
1.5.2. °²È«
- µØÖ·, ÎļþÒÔ¼°³ÌÐòÖ®¼ä·Ö¸ôÇåÎú
- ×îÉÙÏ޶ȵÄÓ¦ÓÃsetuid±àÂë
- ×îÉÙÏ޶ȵÄÓ¦ÓÃroot±àÂë
- Îå¸ö²»Í¬È¨ÏÞÐÅÈμ¶±ðÇø¸ôÔËÐÐ(Ö¸ÀûÓÃÎå¸ö·Ö¸ôµÄuidÔËÐÐqmailµÄ²»Í¬¹¦ÄÜÄ£¿é. ÒëÕß×¢) --ÉîÈëµÄ°²È«±£ÕÏ
- ¿ÉÑ¡µÄÓʼþµ¥ÏòÉ¢ÁмÆË㹦ÄÜ, °üÀ¨Õû¸öÓʼþÄÚÈݵÄhash¼ÆËãµÈ¹¦ÄÜ. (²Î¿¼ ¸½Â¼ E µÄʲôÊÇ QUEUE EXTRA?)
1.5.3. Óʼþ½á¹¹
- ·ûºÏRFC 822 ºÍRFC 1123 ±ê×¼.
- ÓʼþµØÖ·×éµÄÍêÕûÖ§³Ö.
- ×Ô¶¯×ª»»¾É¸ñʽµØÖ·ÎªRFC 822 ¸ñʽ.
- Ö§³ÖsendmailÃüÁî, ÓëĿǰµÄÓʼþÓû§´úÀí¼æÈÝ.
- ½öÊÜÏÞÓÚÄÚ´æ´óСµÄ³¤ÓʼþÍ·Ö§³Ö.
- Ö÷»úαװ(²Î¼û defaulthost)
- Óû§Î±×°(²Î¼û MAILUSERºÍ MAILHOST)
- ×Ô¶¯Éú³ÉÓʼþ¸ú×ÙÁбí(²Î¼û QMAILMFTFILE )
1.5.4. SMTP ·þÎñ
- ¼æÈÝ RFC 821, RFC 1123, RFC 1651, RFC 1652, ºÍ RFC 1854 ±ê×¼
- È« 8-bit ²Ù×÷(qmailÖ±½Ó¶ÔÓʼþ½øÐÐ8bit²Ù×÷. ÒëÕß×¢)
- Ö§³Ö RFC 931/1413/ident/TAP »Ø²é--ÓÃÀ´¸ú×ÙÀ¬»øÓʼþºÍαÔìÓʼþ
- תÐÅ¿ØÖÆ--×èֹδÊÚȨµÄÍâÀ´×ªÐÅÇëÇó.
- ×Ô¶¯Ê¶±ð±¾µØIPµØÖ·.
- ÿ»º³å³¬Ê±
- Ô¾µã¼ÆËã
- ²¢ÐзÃÎÊÏÞÖÆ(ͨ¹ý ucspi-tcp)
- ¶ÔÒÑÖªµÄÀ¬»øÓʼþ·¢ËÍÕß, ¾Ü¾øÁ¬½Ó(ͨ¹ý ucspi-tcp)
- Ö§³ÖÊÚȨÓû§×ªÐźÍÏûÏ¢ÖØÐ´
- ¿ÉÑ¡µÄºÚ¶´Ãûµ¥(Realtime Blackhole List, RBL)ºÍ¿ª·ÅתÐÅϵͳÐÞÕý(Open Relay Behavior-modification System, ORBS) Ö§³Ö(ͨ¹ý rblsmtpd)
1.5.5. ¶ÓÁйÜÀí
- ¶Ô¼ÓÈë¶ÓÁеÄÓʼþ¼´Ê±´¦Àí
- ²¢Ðд¦ÀíÏÞ¶¨
- ·Ö¸î¶ÓÁÐĿ¼--¶ÓÁкܴóʱ²»½µµÍ´¦ÀíËÙ¶È
- ¶þ´ÎÃÝÖØÊÔʱ¼ä±íÅŶ¨Ëã·¨--¶ÓÁÐÄÚÔ½³Â¾ÉµÄÏûÏ¢µÃµ½µÄ·¢ËÍ»ú»áÏà¶ÔÐÂÏûϢԽС (²Î¿¼ ¸½Â¼ E)
- ÿ¸öÓʼþ¶ÀÁ¢µÄÖØÊÔʱ¼ä±í
- ×Ô¶¯°²È«¶ÓÁÐ--ϵͳ±ÀÀ£Çé¿öϲ»¶ªÊ§Óʼþ.
- ×Ô¶¯Ã¿Óʼþ½ÓÊÕÕß¼ì²é
- ×Ô¶¯¶ÓÁÐÇå³ý
- ¶ÓÁй۲ì(²Î¿´ qmail-qread)
- ÏêϸµÄ´«Ë͹ý³Ì·ÖÎö (ͨ¹ý qmailanalog)
1.5.6. Óʼþ·´µ¯
- QSBMF·´µ¯Óʼþ--°üÀ¨»úÆ÷Ò×¶ÁºÍÈËÀàÒ×¶ÁÁ½ÖÖ¸ñʽ
- HCMSSC Ö§³Ö--²»ÊÜÓïÑÔÔ¼ÊøµÄ RFC 1893 ´íÎó´úÂë
- ·¢ËÍÁ½´Î·´µ¯Óʼþ¸øÏµÍ³¹ÜÀíÔ±(postmaster)
1.5.7. »ùÓÚÓòÃûµÄÓʼþ·ÓÉ
- Ö§³ÖÈÎÒâÊýÁ¿µÄ±¾µØÖ÷»úÃû(²Î¿´ locals)
- Ö§³ÖÈÎÒâÊýÁ¿µÄÐéÄâÓò (²Î¿´ virtualdomains)
- Ö§³ÖÓòÃûͨÅä·û (²Î¿´ virtualdomains)
- ¿ÉÅäÖõÄ"percent hack"Ö§³Ö (²Î¿´ percenthack)
- UUCP ¹³ (UUCP hook)
1.5.8. SMTP ´«Êä
- ¼æÈÝ RFC 821, RFC 974, ºÍ RFC 1123 ÐÒé
- È«8-bit×Ö·ûÖ§³Ö
- ¶Ô¹Ø±ÕµÄÖ÷»ú×Ô¶¯ÑÓ³Ù´¦Àí
- È˹¤Â·ÓÉ--smarthost, localnet, mailertable (²Î¿¼ smtproutes)
- ÿ»º³å³¬Ê±É趨
- ±»¶¯SMTP¶ÓÁÐ--¶Ô(µÍËÙ)SLIP/PPPÏß·µÄÍêÃÀÖ§³Ö (ͨ¹ý serialmail)
- Auto TURNÖ§³Ö (ͨ¹ý serialmail)
1.5.9. ת·¢ºÍÓʼþÁбí
- ¼æÈÝSendmailµÄ .forward¿ØÖÆÎļþ(ͨ¹ý dot-forward).
- É¢ÁеÄת·¢Êý¾Ý¿â(ͨ¹ý fastforward)
- ¼æÈÝSendmailµÄ /etc/aliases ¿ØÖÆÎļþ(ͨ¹ý fastforward)
- µØÖ·Í¨Åä·û (²Î¼û .qmail-default)
- ÓʼþÁбíËùÓÐÕß--×Ô¶¯×ªÒÆ·´µ¯ÓʼþºÍ¼ÙÆÚÓʼþ
- VERPs--×Ô¶¯ÓʼþÁÐ±í·´µ¯Óʼþ½ÓÊÕÕßʶ±ð
- ×Ô¶¯·Àֹѻ·³É»·Óʼþ´«ËÍ, ÉõÖÁ¿ÉÒÔ±ÜÃâ¶ÔÓÚ½»²æ´®ÁªÖ÷»úµÄÅäÖ÷½Ê½³É»·Óʼþ´«ËÍ
1.5.10. ±¾µØ(Óʼþ)´«ËÍ
- Ö§³ÖÓû§¿ØÖƵĵØÖ··Ö¼¶--ÈÎÒâFRED(Fast Random Enquiry Display ¿ìËÙËæ »úѯÎÊÏÔʾ, ÒëÕß×¢) mbox´«ËÍ
- ¿É¿¿µÄNFS´«Êä(²Î¼û maildir)
- Ö§³ÖÓû§¿É¿ØµÄÓʼþ³ÌÐò´«ËÍ, ±ÈÈçprocmailµÈ, (²Î¼û qmail-command)
- ¿ÉÑ¡µÄÐÂÓʼþ֪ͨ(²Î¼û qbiff)
- ¿ÉÑ¡µÄNRUDT·µ»ØÊÕÌõ(²Î¼û qreceipt)
- Ìõ¼þ¹ýÂË(²Î¼û condredirect ºÍ bouncesaying)
1.5.11. POP3 ·þÎñ
- ¼æÈÝ RFC 1939
- Ö§³ÖUIDL
- Ö§³ÖTOP
- APOP¹³
- Ä£¿é»¯µÄÃÜÂë¼ì²é(ͨ¹ý checkpassword)
1.6. Ïà¹ØµÄÈí¼þ°ü
qmail×ñѾµäUNIXÕÜѧ: ÿ¸öÈí¼þ¹¤¾ß¶¼ÒªÓÐרһµÄ, ¹æ·¶Á¼ºÃµÄ¹¦ÄÜ; ¶ø¸´ÔӵŦÄÜÓ¦¸ÃÓÉһϵÁжà¸ö¶ÀÁ¢µÄ¼òµ¥¹¤¾ßÁªºÏÍê³É, ÐγÉÒ»¸ö"Á÷Ë®Ïß"ģʽ. ÁíÍâÒ»ÖÖ·½Ê½ÊÇÔÚ¸üΪ¼òµ¥µÄ¹¤¾ßÉϲ»¶ÏµÄ½¨Á¢ºÍ·á¸»Ô½À´Ô½¸´ÔӵĵŦÄÜÀ´Íê³É´óÁ¿µÄ¸´ÔӵŦÄÜ.
qmail²¢Ã»ÓÐÓµÓÐËùÓÐÈËÒªÇóµÄÈÎÒ⹦ÄÜ, Õâµã²¢²»ÁîÈ˾ªÑȾªÑÈ. Ïà·´µÄ, qmailÓµÓеÄÊÇһЩʵÏÖÄÇЩ¹¦ÄܵÄÁ÷ÐеIJå¼þ(add-ons). µ±È»ÁË, Ðí¶à±ê×¼UNIXʵÓù¤¾ßÒ²¶¼¿ÉÒÔ×÷Ϊ²å¼þºÍqmailÐͬ¹¤×÷. ÏÂÃæ½éÉÜһЩ²å¼þ:
- dot-forward --Ò»¸ö¼æÈÝSendmailµÄ.forward¿ØÖÆÎļþµÄ²å¼þ
- fastforward -- Ò»¸ö¼æÈÝSendmail±ðÃûÊý¾Ý¿âµÄ²å¼þ
- ucspi-tcp -- Ò»¸öinetd³¬¼¶·þÎñÆ÷µÄÌæ»»³ÌÐò
- daemontools -- Ò»¸ö¹ÜÀíºǫ́·þÎñ³ÌÐòÒÔ¼°ÈÕÖ¾µÄ¹¤¾ßÌ×¼þ
- qmailanalog -- Ò»¸öqmailÈÕÖ¾Îļþ·ÖÎö¹¤¾ßÌ×¼þ
- serialmail -- ÓÃÓÚµÍËÙÍøÂçÓʼþ´«Ë͵Ť¾ß
- mess822 -- Ò»¸ö¶ÔÒòÌØÍøÓʼþµÄ½øÐзÖÎöµÄ¹¤¾ß
- ezmlm -- Ò»¸ö»ùÓÚqmailµÄ¹ÜÀíÓʼþÁбíµÄ¹¤¾ß
1.7. Ìåϵ½á¹¹
¸½Â¼ D ½éÉÜÁËqmailµÄ¹¦Äܺͽṹ. ¼òµ¥µÄ˵, qmail°üº¬ÁËһϵÁеijÌÐò(Ä£¿é)À´Íê³É²»Í¬µÄÈÎÎñ.
1.8. °æÈ¨Ðí¿ÉÐÅÏ¢
qmailµÄ°æÈ¨ÓÉ×÷ÕßDan BernsteinËùÓÐ, qmailûÓкÍÓû§È¨ÀûÉùÃ÷һͬ·¢²¼. ÔÚwebÒ³Ãæ http://cr.yp.to/softwarelaw.html ÉÏ, ×÷ÕßDan Bernstein¸ÅÒª³ÂÊöÁËËûÈÏΪÓû§ÔÚÃÀ¹ú°æÈ¨·¨ÏÂÓµÓеÄȨÀûºÍÒåÎñ. ÔÚwebÒ³ http://cr.yp.to/qmail/dist.html ÉÏÃèÊöÁË×÷ÕßÊÚȨ¸øqmailµÄÔ´´úÂë·Ö·¢Óû§µÄȨÀûºÍÒåÎñ. ¶þ½øÖÆ·¢ÐÐ×ñÑÌõ¿îÔÚÏÂÃæÕâ¸öwebÒ³ÃæÉÏ¿ÉÒÔÕÒµ½ http://cr.yp.to/qmail/var-qmail.html, Ò²¿ÉÒԲο¼ÕâÀï: http://en.wikipedia.org/wiki/License-free_software.
·¢ÐÐȨÏÞµÄ×îµ×Ïß: Äã¿ÉÒÔ½«qmailÓÃÓÚÈκÎÓÃ;, Äã¿ÉÒÔÔٴηַ¢Î´Ð޸ĵÄqmailÔ´´úÂëºÍÓÐ×ʸñµÄvar-qmail¶þ½øÖÆ·¢Ðаü, ÄãÒ²¿ÉÒÔ·¢ÐÐqmail²¹¶¡³ÌÐò. µ«ÊÇÄã²»ÄÜ·¢ÐÐÐ޸ĹýµÄqmailÔ´´úÂëºÍnon-var-qmail¶þ½øÖÆ·¢Ðаü.
1.9. ºÍÆäËûMTAÏà±È½Ï
Õâ¸öÌâÄ¿ÍêÈ«¿ÉÒÔдһ±¾ÊéÀ². ²»¹ý¿ÉÄÜÊǺܵ¥µ÷·¦Î¶µÄÒ»±¾. ÕâÀï¸ø³öÒ»¸öqmailºÍÆäËû×î³£¼ûµÄUNIX MTAµÄ¿ìËٱȽϱí¸ñ(ÖÐ: medium, ¸ß: high, µÍ: low, ÊÇ: yes, ·ñ: no, ²å¼þ: addons, ¿ÉÑ¡µÄ: optional. ÒëÕß×¢)
| MTA | ³ÉÊì¶È | °²È«ÐÔ | ÌØÉ« | ÐÔÄÜ | ÊÇ·ñ¼æÈÝSendmail | Ä£¿é»¯ |
| qmail | ÖÐ | ¸ß | ¸ß | ¸ß | ²å¼þ | ÊÇ |
| Sendmail | ¸ß | µÍ | ¸ß | µÍ | - | ·ñ |
| Postfix | ÖÐ | ¸ß | ¸ß | ¸ß | ÊÇ | ÊÇ |
| exim | ÖÐ | µÍ | ¸ß | ÖÐ | ÊÇ | ·ñ |
| Courier | µÍ | ÖÐ | ¸ß | ÖÐ | ¿ÉÑ¡µÄ | ÊÇ |
¼æÈÝSendmailÒâ˼ÊÇMTAÔËתÊÇ·ñÀàËÆÓÚSendmail, ´Ó¶ø¿ÉÒÔÔÚijÖÖÓû§Í¸Ã÷¶ÈÉÏ´Ó´ËMTAºÍSendmailÖ®¼ä¹ý¶ÉºÍÇл», ±ÈÈç.forward¿ØÖÆÎļþ, /etc/aliasesÎļþÒÔ¼°ÊÇ·ñ´«ËÍÓʼþµ½Ä¿Â¼ /var/spool/mailµÈµÈÐÐΪ.
Jonathan de Boyne Pollard Ôø¾»Ø¹ËÁ˺ܶàUNIXϵÄMTA, webÒ³ÃæÔÚhttp://homepages.tesco.net/~J.deBoynePollard/Reviews/UnixMTSes/ . ÁíÍâÒ»¸öºÜÏêϸµÄµÄ±È½ÏÎÄÕÂÇë²Î¿¼http://www.geocities.com/mailsoftware42/. (geocities¿ÉÄÜÔÚ¹úÄÚÎÞ·¨Ö±½Ó·ÃÎÊ. ÒëÕß×¢)
1.10. Îĵµ
1.10.1. man °ïÖúÊÖ²á
qmail·¢Ðаü°üº¬ÁËÍêÕûµÄmanÊÖ²á. °²×°qmailÖ®ºó, ËûÃÇͨ³£Î»ÓÚ /var/qmail/man. Äã¿ÉÄÜÐèÒª×Ô¼ºÊÖ¶¯Ôö¼ÓÕâ¸öÊÖ²áĿ¼·¾¶µ½ÄãµÄ»·¾³±äÁ¿MANPATHÀïÃæ.
| Shell ½âÊÍÆ÷ | ÃüÁîÐÐ |
| Bourne (/bin/sh) | MANPATH=$MANPATH:/var/qmail/man; export MANPATH |
| bash, Korn | export MANPATH=$MANPATH:/var/qmail/man |
| C Shell | setenv MANPATH $MANPATH:/var/qmail/man |
(ÉÏÃæ±í¸ñΪ¸÷¸ö²»Í¬shellÏÂÔËÐеÄÔö¼Ó»·¾³±äÁ¿µÄÃüÁîÐиñʽ, ¹Ê²»Óè·Òë, Óû§Ò²¿ÉÒԲο¼man manÀ´²éÔÄÖ±½ÓÖ¸¶¨manµÄÖ¸¶¨Ä¿Â¼¿ª¹ØµÄÉ趨, ÔÚBourneÏÂ, Õâ¸ö¿ª¹ØÒ»°ãÊÇ -M.ÒëÕß×¢) (Ð޸Ļ·¾³±äÁ¿Ö®ºó) ÓÃÐÍÈç"man name-of-qmail-man-page"µÄÃüÁî¸ñʽ¼´¿Éµ÷³öÏà¹ØµÄÊÖ²áÒ³Ãæ.
Ò²¿ÉÒÔ·ÃÎÊmanÊÖ²áÒ³ÃæµÄÔÚÏßwebÒ³ÃæÐÎʽ, µØÖ·ÊÇ:
- http://www.qmail.org/man/index.html
×¢Òâ: qmailµÄmanÊÖ²áÒ³Ãæ³ÐÔØÁË´óÁ¿µÄÐÅÏ¢, ËüµÄд×÷ÓïÑÔÆ«Öؼ¼ÊõÊõÓï, ¿ÉÄÜÏ൱»ÞɬÄѶ®, ±ØÐë×Ðϸ¼ÓÒÔÑжÁ. Äã¿ÉÄÜÐèҪͨ¶ÁÒ»±éÀ´ÊìϤËü. ÒòΪºÜÉÙÓÐÖØ¸´ÐÔµÄÄÚÈÝ, Äã±ØÐëÊ×ÏÈÖªµÀÀïÃæ¶¼Ð´ÁËÄÄЩÄÚÈÝ,ÒÔ¼°Äã¸ÐÐËȤµÄÄÇЩÄÚÈÝÔÚÄÄÀï, ·ñÔòÄã¿ÉÄܸù±¾ÕÒ²»µ½ÄãÒªµÄ¶«Î÷.
1.10.2. Îĵµ
qmail·¢Ðаæ°üº¬ÁËһϵÁÐÎĵµ, ͨ³£°²×°ÔÚ/var/qmail/docĿ¼ÏÂ. ËüÃǰüÀ¨ÒÔÏÂÄÚÈÝ: (±¾ÎÄÖÐĬÈϵÄÁ½¸öλÖÃ,Ò»¸ö¾ÍÊÇÎĵµµÄ¸ùλÖÃ/var/qmail/doc, Õâ¸öλÖõÄÎĵµÒ²Í¨³£±»×÷ÕßÃèÊöΪqmailÔ´´úÂëÎļþĿ¼ÏµÄdocÎĵµ, ÄÚÈÝÊÇÒ»ÖµÄ. »¹ÓÐÒ»¸ö¾ÍÊÇqmail µÄ°²×°ºóµÄÖ÷Ŀ¼ÏµĿØÖÆÎĵµ, ͨ³£Îª/var/qmail/controlÏÂÃæ, ÔںܶàÇé¿öÏÂ, ×÷Õß²¢²»Ã÷È·Ö¸³öÕâÁ½¸ö¾ßÌåλÖÃ. ÒëÕß×¢)
- FAQ: ³£¼ûÎÊÌâÒÔ¼°»Ø´ð.
- INSTALL.* Îļþ¼¯: °²×°Îĵµ.
- PIC.*Îļþ¼¯: ÃèÊöÁËqmailÈçºÎÍê³ÉºËÐÄÈÎÎñµÄÎĵµ. ²éÕÒ¸ü¶àÏà¹ØÐÅÏ¢, Çë²Î¿´¸½Â¼Ìåϵ½á¹¹.
- ÆäËû¼¸¸ö°²×°Ïà¹ØÎĵµ.
ÕâЩÎĵµÒ²¿ÉÒÔÔÚÏ߲鿴, Çëµ½webÒ³Ãæ:
- http://www.qmail.org/man/index.html
1.10.3. ³£¼ûÎÊÌâ FAQs
ÓÐÁ½¸öÕýʽµÄ³£¼ûÎÊÌâ(Frequently Asked Questions, FAQ. ¸½Ïà¹Ø»Ø´ð)Îĵµ:
- /var/qmail/doc/FAQ Ŀ¼ÏÂ, ´¿Îı¾°æ±¾, ÒÔ¼°
- webÒ³ÃæFAQ, µØÖ·: http://cr.yp.to/qmail/faq.html.
webÒ³ÃæµÄFAQ¸üÍêÕûһЩ.
1.10.4. Êé¼®
1.10.4.1. qmail ÊÖ²á (Ó¢ÎÄÊéÃû: The qmail Handbook)
×÷ÕßDave Sill, Ò²ÊDZ¾ÎÄLife with qmailµÄ×÷Õß, Ôø¾ÎªApress(http://www.apress.com/)³ö°æÉç׫дÁËÒ»±¾qmailÊé¼®. Õâ±¾qmail ÊÖ²á (Ó¢ÎÄÊéÃû: The qmail Handbook), °üÀ¨Á˱¾ÎÄËùÓÐÄÚÈÝ, ijЩ·½Ãæ¸üΪÏêϸ, ͬʱҲ½éÉÜÁË´óÁ¿µÄÐÂÁìÓò.
¸ü¶àÐÅÏ¢, Çë²Î¿´ http://www.apress.com/catalog/book/1893115402/. ÐèÒªÔÚÎÒµÄÊéµê¶¨¹º±¾Êé, Çëµ½ÎÒºÍAmazon.comºÏ×÷Êéµê http://www.amazon.com/exec/obidos/ASIN/1893115402/davesill.
1.10.4.2. qmail (Ó¢ÎÄÊéÃû: qmail)
¾Ý±¨µÀ, John LevineΪO'Reilly %26amp; Associates (http://www.oreilly.com/)³ö°æÉçд×÷µÄÒ»±¾qmailÊé¼®.
1.10.4.3. Running qmail (Ó¢ÎÄÊéÃû: Running qmail)
×÷ÕßRichard Blum, Sams³ö°æ. Õâ±¾Êé±»ÈÏΪ½ÓÊÜÁËqmailÓʼþÁбíÀïÃæµÄ¸÷ÖÖ¹Ûµã.
¶¨¹º±¾Êé, Çë²Î¿´ http://www.amazon.com/exec/obidos/ASIN/0672319454/davesill.
">1.10.4.4. qmail: Yuksek Performansli E-Posta Sunucu
Ismail Yenigul, ÒÔ¼°ÆäËûÈËÖø×÷µÄqmail Êé¼®. ²Î¼û http://www.acikakademi.com/catalog/qmail/.
1.10.5. ÓʼþÁбíÎĵµ
qmailµÄÓʼþÁбí, ÓÉDan Bernstein ά»¤, ¼«ÎªÓмÛÖµµÄÐÅÏ¢À´Ô´. webÎĵµ±£´æÔÚÒÔÏÂλÖÃ:
- http://www.ornl.gov/its/archives/mailing-lists/qmail/.
Õâ¸öÎĵµµÄÒ»¸öËÑË÷ÒýÇæÎ»ÖÃÔÚ:
- http://www-archive.ornl.gov:8000/.
ÆäËûwebÎĵµ¿ÉÒÔÔÚÒÔϵØÖ··ÃÎʵ½:
- http://www.egroups.com/list/djb-qmail/?refstop=1 ºÍ
- http://msgs.securepoint.com/qmail/.
´ó¶àÊý¹ØÓÚqmailµÄÎÊÌâµÄ´ð°¸¶¼¿ÉÒÔÊ×ÏÈÔÚÕâ¸öÓʼþÁбíµÄÎĵµÀïÃæËÑË÷µ½.
1.10.6. ÆäËûWebÕ¾µã
- http://cr.yp.to/qmail.html : qmailµÄÕýʽÖ÷Ò³.
- http://www.qmail.org/. qmailµÄ·ÇÕýʽÖ÷Ò³. °üº¬ÁË´óÁ¿¹ØÓÚ¹¦Äܲå¼þºÍ²¹¶¡µÄÐÅÏ¢, ÒÔ¼°ºÜ¶àºÜ°ôµÄ¹ØÓÚqmailµÄwebÒ³ÃæµÄÁ´½Ó.
- http://www.flounder.net/qmail/qmail-howto.html: Adam McKenna ÖÆ×÷µÄHOWTO.
1.11. ¼¼ÊõÖ§³Ö
1.11.1. ÓʼþÁбí
ÏÂÃæµÄÕâЩÁбíλÓÚÖ÷»ú list.cr.yp.to. ΪÁË·ÀÖ¹±»·¢ËÍÀ¬»øÓʼþÕß»ñÈ¡µØÖ·, ÎÒûÓÐʹÓÃÍêÕûÓÐЧµÄÓʼþµØÖ·, ÒÔ¼°"mailto"¸ñʽµÄURL.(ÕâÀïÒþÈ¥ÁËÕæÊµµÄlistname, ¾ßÌåÇë²Î¿´qmailµÄÕýʽÖ÷Ò³½éÉÜ»òÕ߲鿴1.11.1.½Ú, Ò²¾ÍÊDZ¾½ÚµÄ¼¸¸öС½ÚµÄ´øÓÐÏ»®ÏßµÄÓ¢ÎıêÌâÃû×Ö, ÒëÕß×¢)
ÕâЩÓʼþÁбíÓÉezmlm¹ÜÀí, ʹÓò»Í¬µÄµØÖ·ÊµÏÖ²»Í¬µÄ¹¦ÄÜ.
- listname@list.cr.yp.to: ¶©ÔĵØÖ·. ·¢Ë͵½Õâ¸öµØÖ·µÄÓʼþ½«»á±»·¢Ë͸øÁбíµÄËùÓÐÓû§. Çë²»Òª·¢ËͶ©ÔĺÍÍ˶©ÒªÇóµ½Õâ¸öµØÖ·, ÕâÑù×÷ÊÇÎÞЧµÄ, ¶øÇÒ»¹»á´òÈÅÆäËû¶©ÔÄÕß.
- listname-help@list.cr.yp.to: ÕâÊÇ"°ïÖú"µØÖ·. ·¢ËÍÓʼþµ½Õâ¸öµØÖ·½«»á·µ»ØÊ¹ÓÃÐÅÏ¢.
- listname-subscribe: ·¢ËÍ¿ÕÏûÏ¢µ½Õâ¸öµØÖ·¶©ÔÄÁбí.
- listname-unsubscribe: ·¢ËÍ¿ÕÏûÏ¢µ½Õâ¸öµØÖ·Í˶©Áбí.
¾ÙÀý, Ò»¸ö¶©ÔÄ»òÕßÍ˶©µØÖ·, ±ÈÈç joe@example.com, ·¢ËÍÓʼþµ½Õâ¸öµØÖ·¶©ÔÄÁбí:
- listname-subscribe-joe=example.com@list.cr.yp.to.
1.11.1.1. qmail
ÕâÊÇÒ»¸öÖ÷ÒªµÄqmailÓʼþÁбí.ÌÖÂÛºÍÌáÎÊ/»Ø´ðºÜ¶àÓйØÓÚqmailµÄÎÊÌâ. ²»¹ý²»°üÀ¨ÓйØÓÚËûÃÇ×Ô¼ºµÄÁбíµÄÎÊÌâ. ÔÚÕâ¸öÁбíÌáÎÊ֮ǰÇëÔĶÁCharles CazabonµÄ"12 Steps to qmail List Bliss" webÒ³ÃæÎ»ÖÃhttp://pyropus.ca/personal/writings/12-steps-to-qmail-list-bliss.html .ͬʱÇëÊ×ÏÈÔĶÁFAQ»òÕßÔÚÕâÀïËÑË÷ÁбíµÄ¹ýÈ¥µÄÎÄÕÂ. ÌáÎʵÄʱºò, Ç뾡Á¿°üº¬³ä·ÖÏ꾡µÄϸ½Ú, ±ãÓÚÆäËûÈ˻شð. Çë×¢ÒâÒÔÏÂÕâЩÌáÎÊÒªµã:
- Äã×öÁËʲô? ÄãµÄÅäÖÃ? Èç¹ûÄã²»Çå³þÄÄЩ±È½ÏÖØÒª, ÄǾͰÑqmail-showctl µÄÊä³öËãÉÏ. Äã¶¼×öÁËÄÇЩ¾Ù¶¯? Èç¹ûÊÇа²×°µÄqmail, ½²ÊöÒ»ÏÂÄãÈçºÎ°²×°µÄ.
- ÄãÆÚ´ý·¢Éúʲô? ÄãÏë´ïµ½Ò»¸öʲôĿµÄ? ²»Òª¼ÙÉè¶ÁÕß»á²Âµ½ÄãµÄÏë·¨.
- Ôø¾·¢ÉúÁËʲô? ÃèÊöÒ»ÏÂʵ¼ÊµÄ½á¹û. °üÀ¨logÎļþµÄ²¿·Ö¼ô¼, ÏûÏ¢µÄ¸±±¾, °üÀ¨Í·²¿·Ö.
×¢Òâ: qmailµÄÓʼþÁбíʹÓÃÁËÒ»¸ö½Ð×öqsecretaryµÄ¹¤¾ßÀ´Ð£ÑéͶµÝµ½ÁбíµÄÓʼþÊÇ·ñÊÇÀ¬»øÓʼþ. ÿ·âµ½´ïÁбíµÄÓʼþ¶¼»áÊ×ÏÈÓÉqsecretary·µ»ØÒ»¸öÈ·ÈÏÓʼþ. Óû§ÔĶÁÈ·ÈÏÓʼþ²¢ÇÒ°´ÕÕ·µ»ØÓʼþÉϵÄÖ¸ÁîÈ·ÈÏÄãµÄÓʼþ--ͨ³£¾ÍÊǻظ´qsecretaryµÄÈ·ÈÏÐÅÏ¢¾Í¿ÉÒÔÁË. ¾³£ÔÚÁбíͶµÝµÄ¶©»§Ò»°ãʹÓÃÀàËÆCharles Cazabon±àдµÄpymsgauth (ÔÚÕâÀïhttp://pyropus.ca/software/pymsgauth/.) µÄ×Ô¶¯»Ø¸´³ÌÐòÀ´×Ô¶¯Íê³ÉÓʼþÈ·ÈÏ. pymsgauth УÑé·¢ÍùÁбíµÄÓʼþµÄÈ·ÊÇÄã·¢³öµÄ, ËùÒÔËü²»»áÈ·ÈÏÄÇЩð³äÄãµÄÃû×Ö·¢Ë͵½ÁбíµÄÓʼþ.
1.11.1.2. qmailannounce
qmailµÄ¹«¸æÓʼþÁбí. ûÓÐͶ¸åµØÖ·, ÕâÊǸöÖ»¶ÁµÄÁбí.
1.11.1.3. serialmail
ÌÖÂÛserialmail Èí¼þµÄÁбí.
1.11.1.4. ezmlm
ezmlm ÓʼþÁбí¹ÜÀíÆ÷µÄµÄÌÖÂÛÁбí.
1.11.2. ×ÉѯÕß
²Î¿´ http://www.qmail.org/top.html#paidsup µÄÉÌÒµÖ§³ÖÌṩÕßÃûµ¥.
1.11.3. FAQTS ֪ʶ¿â
http://qmail.faqts.com/ Ò»¸öqmailÏà¹ØÎÊÌâµÄÊý¾Ý¿â, °üÀ¨ÎÊÌâ½â´ð.Èç¹ûÄãÔÚFAQÀïÃæÕÒ²»µ½»Ø´ð, ÊÔÊÔËÑË÷Õâ¸ö֪ʶ¿â. ËüµÄר³¤ÔÚÓڻشð"ÈçºÎÈ¥×÷"µÄÎÊÌâ.
2. °²×°
ÕâÒ»½Ú½éÉÜqmailµÄ°²×°. Èç¹ûÄãÊǸö¾Ñé·á¸»µÄϵͳ¹ÜÀíÔ±, ÄãÍêÈ«¿ÉÒÔ°´ÕÕqmailµÄ·¢²¼Ô´ÎļþÀïÃæµÄINSTALLÎļþµÄÖ¸µ¼Íê³É°²×°. INSTALLÎļþÊÇÕýʽµÄ°²×°Ö¸µ¼. Õâ¸öÖ¸µ¼±È Life with qmail, Ò²¾ÍÊDZ¾ÎĵÄÖ¸µ¼¸´ÔӺܶà. INSTALLÎļþ¼Ù¶¨¶ÁÕßÊÇÒ»¸ö¾Ñé·á¸»µÄϵͳ¹ÜÀíÔ±»òÕßÓʼþ¹ÜÀíÔ±. ¶øÇÒINSTALLÕâ¸öÎļþÒ²±È½Ï³Â¾É, ·´Ó³²»ÁËBernstein(qmail×÷Õß)×î½üµÄ²Ù×÷¹æ³Ì½¨Òé.
×¢Òâ: Èç¹ûÄãÑ¡ÔñʹÓÃÏÂÃæµÄ°²×°Ö¸µ¼, ÇëÄãÒ»¶¨ÒªÍ¨¶ÁÏÂÃæÕû¸öС½ÚÒÔÊìϤȫ²¿°²×°¹ý³Ì.
2.1. ²»Í¬µÄ°²×°·¢²¼ÐÎʽÒÔ¼°Ï໥µÄ±È½Ï
2.1.1. ¶þ½øÖư²×°¶Ô±ÈÔ´´úÂë°²×°
ÓÉÓÚqmail¶ÔÓÚÔ¤ÏȱàÒëµÄ¶þ½øÖÆ´úÂë°üµÄ·¢ÐÐÓÐÏÞÖÆÐÔµÄÐí¿É, ͨ³£qmail¶¼ÊÇÓÉÔ´´úÂë°²×°µÄ.
Èç¹ûÄã²»ÊǺÜÊìϤԴ´úÂëºÍ¶þ½øÖƵÄÇø±ð, ÏëÏñÒ»ÏÂÄã¶©ÁËÒ»¸öpizza±ý. "¶þ½øÖÆ"ÐÎʽµÄpizza±ýËÍÀ´ÁËÁ¢¿Ì¾ÍÄܳÔ, ¶ø"Ô´´úÂë"pizza±ý¾ÍÏñÈ«²¿ÖÆ×÷pizzaµÄ²ÄÁÏ, Ãæ·Û, ·¢½Í·Û, ¸ÉÀÒ, ɳ˾»¹Óн½Í·µ÷ÁÏ, ÒÔ¼°Åëâ¿pizzaµÄÖ¸µ¼, Äã±ØÐë×Ô¼º×÷pizza. ËäÈ»Óеã·Ñ¾¢, ²»¹ýÈç¹ûÄã×ÐϸµÄ°´ÕÕÖ¸µ¼À´×÷, ½á¹ûÊÇÒ»ÑùµÄ, ÉõÖÁ¸üºÃ. ×Ô¼º×÷µÄpizza¸üÐÂÏÊ, ÄãÒ²¿ÉÒÔ°´ÕÕ×Ô¼ºµÄÅäÖõ÷Õû½½Í·µ÷ÁÏ, ²¢ÇÒÄã¸ü¶àµÄÁ˽âÁËÄãµÄpizzaÒÔ¼°ËüÊÇÈçºÎ"¹¤×÷"µÄ.
°²È«µÄÔËÐÐÒ»¸öÒòÌØÍø·þÎñ²¢²»ÈÝÒ×. Ò»¸ö²»Êʵ±ÅäÖõķþÎñ¿ÉÄܸøÄãµÄÖ÷»úϵͳ´øÀ´±»¹¥»÷ÒÔ¼°±»ÓÃÀ´¹¥»÷ÆäËûÕ¾µãµÄ·çÏÕ--ÓпÉÄÜÈùÜÀíÔ±³Ðµ£·¨ÂÉÔðÈεݲȫ·çÏÕ. ¸ü¶àµÄÖªµÀÄãµÄÍøÂç·þÎñÈçºÎÔËÐеÄ, ¾Í¸üÓпÉÄÜÈÃËûÃÇÕýÈ·ºÍ°²È«µÄ¹¤×÷.
2.1.2. Tarball ¶Ô±È ÌØ¶¨²Ù×÷ϵͳ°²×°°ü (Tarball vs. OS-specific package)
һЩ²Ù×÷ϵͳÌṩһÖÖ×Ô¶¯Ô´´úÂë°²×°»úÖÆ. »Øµ½ÉÏÎÄÎÒÃǵÄpizzaÖÆ×÷·ÖÎöÀïÃæ. Õâ¾ÍºÃÏñ°ÑËùÓеÄpizzaµÄ³É·ÖºÍÖÆ×÷Ö¸µ¼¶¼´ò°üµ½Ò»Æð, ÕâÑùÄã¼òµ¥µÄ°´Ò»Ï°´Å¥pizza¾ÍÄܰÑ×Ô¼º¿¾ºÃÀ².
¾õµÃÕâÑù×÷ºÜ²»´í, ÊǰÉ?
ʵ¼ÊÉÏ, Äǿɲ»ÊÇÒ»¸öÏ뵱ȻµÄºÃÖ÷Òâ. ×é×°ÕâЩ°üÊǸöÏ൱À§ÄѵŤ×÷, ËüÃÇÓÐʱ²¢²»Êǰ´ÕÕ¼Ù¶¨µÄ·½Ê½¹¤×÷µÄ. ÕâÊÇÈí¼þ, ¶øÇÒºÍÆäËûÈí¼þÒ»Ñù, ËûÃÇ»áÓÐbugs. ¼´Ê¹²»ÌáÄÇЩbugs, ÄÇЩ°²×°µÄ·½±ãÒ²ÊÇÓÃÎþÉüÄã×Ô¼º¿¾µÄpizza±ýµÄºÜ¶àÓŵãÀ´´ïµ½µÄ. ±ÈÈçÄã×Ô¼ºµ÷Õû½½Í·µ÷ÁϵĵÄÄÜÁ¦, »¹ÓÐÖªµÀÔõô×÷pizza±ý, ÒÔ¼°pizzaÈçºÎ¹¤×÷µÈµÈ.
Èç¹ûqmail½ö½öÊÇÒ»¸öpizza, ÄÄ×Ô°²×°·½Ê½»¹ÊÇ¿ÉÒÔ½ÓÊܵÄ. ²»¹ýqmail¿ÉÊǸöÏ൱¸´ÔÓµÄϵͳ. °²×°ºÍά»¤qmailµÄÈ˶¼ÐèÒª¶ÔËüÏ൱µÄÁ˽â²ÅÄÜÆ½ÎȵÄÔËÐÐËü. ×Ô°²×°·½Ê½µÄqmail¸üÈÝÒ×°²×°, ²»¹ýÓû§ÊÖ¶¯°²×°·½Ê½¸üÈÝÒ×µ÷ÕûÅäÖúͲéÕÒ¹ÊÕÏ. Äã¿ÉÄܾͰ²×°Ò»´Îqmail, µ«ÊÇÄã¿ÉÄÜÒª¼¸´Î²ÅÄܵ÷ÕûºÃËü, »òÕßµ±Óʼþ²¢²»Êǰ´ÕÕÄãÏëÒªµÄ·½Ê½ÔËÐеÄʱºò, Éè·¨ÕÒ³ö²¢½â¾öÎÊÌâ.
ÓÉÓÚÕâЩÔÒò, ÎÒ½¨ÒéʹÓÃÔ´´úÂëµÄtarball·½Ê½°²×°, ¶ø²»ÊÇRed Hat RPM»òÕ߯äËû×Ô°²×°°ü·½Ê½.
2.2. ×¼±¸¹¤×÷
°²×°qmail֮ǰ, ÓÈÆäÈç¹ûÊÇÄãµÚÒ»´Î°²×°qmail, Óм¸¸öÐèҪעÒâµÄµØ·½.
- Èç¹û¿ÉÄÜ, ¾¡Á¿ÔÚÒ»¸ö"ÊÔÑé"ϵͳÉϰ²×°qmail. ÕâÑùµÄ»°¿ÉÒÔÓлú»á·¸´í, ²»ÖÁÓÚÔÚÕýÔÚ¹¤×÷µÄ·þÎñÆ÷Éϰ²×°Ê±¶ªÊ§ÖØÒªµÄÓʼþ»òÕßÖжÏmail·þÎñ.
- Èç¹ûÄãûÓпÕÏеļÆËã»úϵͳ, ¶øÄãÒª°²×°µÄϵͳÉÏÃæÒѾÔËÐÐsendamil, smail»òÕ߯äËûµÄMTA, ÕâЩMTA»¹ÔÚ½øÐÐÓʼþͶµÝ, Äã¿ÉÒÔÔÚÕâÖÖϵͳÉÏÍê³É´ó²¿·ÖµÄqmail °²×°¶ø²»ÖжÏÏÖÓеÄÓʼþ·þÎñ.
- Èç¹û´ÓÆäËûMTAÒÆÖ²µ½qmail--¼´Ê¹ÄãÔÚqmailÉÏÒѾºÜÓоÑé--Ê×ÏÈÖÆ¶©Ò»¸ö°²×°¼Æ»®, Ò²ÊǷdz£±ØÒªµÄ.
2.3. ϵͳҪÇó
qmail ±ØÐë°²×°ÔÚUNIX»òÕßÀàUNIXϵͳÉÏ, һЩϵͳҪÇó:
- °²×°ÐèÒª´óÔ¼10Õ׿ռä. °²×°Ö®ºó¿ÉÒÔɾ³ýÄ¿±êÎļþÊͷųö´óÔ¼4Õ׿ռä.
- Ò»¸öÍêÕûµÄC¿ª·¢»·¾³, °üÀ¨±àÒëÆ÷, ϵͳͷÎļþ, ÒÔ¼°º¯Êý¿â. ¹¹½¨Ö¸µ¼½«¸æËßÄãÈçºÎÏÔʾÄãÊÇ·ñÓµÓÐÕâЩ±ØÒªµÄ²¿·Ö.
- ¶þ½øÖÆ´úÂë, Îĵµ, ºÍÅäÖÃÎļþÐèÒª¼¸Õ׿ռä.
- Óʼþ¶ÓÁÐÐèÒªÒ»¸ö°²È«µÄÎļþϵͳ. qmail µÄ¿É¿¿ÐÔÒªÇóÎļþϵͳ¼æÈÝ´«Í³µÄBSD FFSÓïÒå. ´ó¶àÊýÏÖ´úµÄ±¾µØÎļþϵͳ¶¼·ûºÏÕâ¸öÒªÇó³ýÁËÒ»¸öºÜÖØÒªµÄÀýÍâ: link()ϵͳµ÷Óó£³£ÊÇÒì²½µÄ--ÕâÒâζ×Ålink()²Ù×÷·µ»ØÊ±²»»á½«Êý¾ÝдÈë´ÅÅÌ. Bruce Guenter µÄsyncdir ¿â¿ÉÒÔÓÃÀ´½â¾öÕâ¸öÎÊÌâ. ¸ü¶àÐÅÏ¢Çë²Î¼û¸½Â¼ÀïÃæÏà¹ØÈí¼þ°ü syncdir.
- Óʼþ¶ÓÁÐÐèÒªµÄ×ã¹»µÄ´ÅÅ̿ռä. СÐ͵¥Óû§ÏµÍ³½ö½öÐèÒª2Õ×. ´óÐÍϵͳ¿ÉÄÜÐèÒª2¼ª(2G).
- ¼æÈݵIJÙ×÷ϵͳ. ¶àÊý±äÖÖUNIX¶¼¿ÉÒÔ. ²Î¿¼qmailÔ´´úÂëÀïÃæµÄREADMEÎļþ, ÀïÃæÓÐÒÑÖªµÄ¼æÈÝϵͳ°æ±¾Áбí.
- ×îºÃÓÐȨʹÓÃÓòÃû·þÎñÆ÷. ûÓÐÕâ¸öÌõ¼þ, qmail¾ÍÖ»Äܰ´ÕÕsmtproutesÅäÖÃÎļþÀïÃæÅäÖõÄÔ¶³ÌÖ÷»ú·¢ËÍÓʼþ.
- ×ã¹»µÄÍøÂç´ø¿í. qmailÊÇΪÁ¼ºÃ½ÓÈëÍøÂçµÄϵͳÉè¼ÆµÄ, ËùÒÔÄã²»¿ÉÄÜÔÚÒ»¸ö28.8kµÄ²¦ºÅÏß·ÉÏÔËÐÐÒ»¸öÓʼþÁбí. serialmailÈí¼þ°üÊÇΪÔÚµÍËÙÁ¬½ÓÉϵÄϵͳÔËÐÐqmail¶øÉè¼ÆµÄ. ¸ü¶àÐÅÏ¢Çë²Î¼û¸½Â¼ÄÚserialmailÏà¹ØµÄ½Ú.
×¢Òâ: Óʼþ¶ÓÁÐËùÔÚµÄÎļþϵͳ±ØÐëÔÊÐíʹÓÿÉÖ´ÐÐÎļþºÍÉèÖÃsetuid()Îļþ. һЩ²Ù×÷ϵͳ×Ô¶¯¹ÒÔØ(mount) /var Ŀ¼ѡÏîΪ·Çsuid ºÍ·Ç¿ÉÖ´ÐÐ.ÕâÖÖÇé¿öÏÂ, ±ØÐëÔÚ /var/qmail/bin ÄÚ½ûÖ¹ÕâЩѡÏî, »òÕß, ½«Õâ¸öÎļþ¼Ð·ÅÖÃÔÚÆäËûûÓÐÕâÁ½ÏîÏÞÖÆµÄÎļþϵͳÉÏ. ÉÔºóÎÒ½«ÔÚ½¨Á¢Ä¿Â¼Ð¡½ÚÌáµ½ÈçºÎʹÓ÷ûºÅÁ´½ÓÀ´½â¾öÕâ¸öÎÊÌâ. Èç¹û/var ¹ÒÔØÎª·Çsuid, Äã¿ÉÄÜÔÚqmail-send ÈÕÖ¾ÄÚ¿´µ½ÈçϵĴíÎóÏûÏ¢:
delivery : deferral: Sorry,_message_has_wrong_owner._(#4.3.5)
×¢Òâ: ±¾ÎÄ»òÕßINSTALL ÎļþµÄ˵Ã÷, ÊDz»ÄÜ×÷Ϊqmail ÔÚÆ»¹ûX ²Ù×÷ϵͳÉϵݲװָµ¼µÄ, Eben Pratt ´æµµÁËÈçºÎÔÚÆ»¹ûX ϵͳÉϰ²×°qmail µÄÎĵµ, ²Î¿¼ÕâÀï http://netdevice.com/qmail/#osx.
2.4. ÏÂÔØÔ´´úÂë
ºÃÁË, ÄãÒѾ׼±¸ºÃ°²×°qmailµÄϵͳÁË. µÚÒ»²½¾ÍÊÇÏÂÔØqmailºÍ²å¼þµÄÔ´´úÂë. µ±È»ÁË, ÄãÐèÒªqmail, »¹ÓÐucspi-tcpºÍdaemontools.
- qmail, http://www.qmail.org/netqmail-1.05.tar.gz
- ucspi-tcp, http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
- daemontools, http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
ÓÃÄãµÄwebä¯ÀÀÆ÷, »òÕßweb¿Í»§¶Ë(±ÈÈçwget), FTP¿Í»§¶ËÏÂÔØÕâЩԴ´úÂë.
×¢Òâ: Èç¹ûÕâЩÁ´½ÓµÄÆäÖÐÈκÎÒ»¸öʧЧ, ¶¼ÓпÉÄÜÓÉÓÚËûÃÇÒѾÉý¼¶ÁË, Èç¹ûÊÇÕâÖÖÇé¿ö, ÄãÐèÒªµ½http://cr.yp.to/software.html ²éÕÒÏàÓ¦Èí¼þ°üµÄÁ´½ÓÏÂÔØ×îа汾. ÓпÉÄÜÉý¼¶°æ±¾²»¼æÈÝÏÂÃæµÄÖ¸µ¼ÄÚÈÝ, ËùÒÔÇëÒ»¶¨ÔĶÁÕâЩ·¢Ðа汾µÄ"Upgrading from previous version..."С½ÚÖеÄ×¢ÒâÊÂÏî.
×¢Òâ: ±¾Îݲװָµ¼Ê¹ÓÃnetqmail ·¢Ðаæ, netqmail °üº¬ÁËqmail 1.03 tarball°æºÍÒ»¸ö²¹¶¡, Õâ¸ö²¹¶¡ÐÞÕýÁËһЩ©¶´, ²»×ãºÍ¼æÈÝÐÔÎÊÌâ. ÔÚÕâÀï·ÃÎÊnetqmail http://www.qmail.org/netqmail/ netqmail µÄCHANGES ÎļþÄÚÓиü¶àµÄÏà¹ØÐÅÏ¢.
2.5. ±àÒëÔ´´úÂë
2.5.1. ¼ìÑé±àÒë(Ô´´úÂë)»·¾³
Ê×ÏÈÄãҪȷ¶¨µÄÊÇÄãÓбàÒë³ÌÐòµÄ±ØÒªµÄ¹¤¾ß. ÈçºÎÈ·¶¨È¡¾öÓÚÄãʹÓõÄUNIX±äÖÖ. ËäÈ»²»Äܱ£Ö¤¿É¿¿, µ«×î¼òµ¥µÄ¶Ï¶¨·½Ê½¾ÍÊÇÈ¥ÊÔ.
×¢Òâ: ÏÂÃæÈκÎÒ»¸ö²âÊÔͨ¹ýÁË, Äã¶¼¿ÉÒÔÍ£ÏÂÀ´Ö±½ÓÌøµ½ÏÂÒ»½Ú.
- ÔÚ¼ÆËã»úµÄÃüÁîÌáʾÐÐÏÂ, ÇÃÈë cc È»ºó»Ø³µ.
$ cc cc: No input files specified $
- Èç¹ûÄãµÃµ½ÀàËÆÉÏÃæµÄ·´Ó¦, ±íÃ÷ÄãµÄȱʡËÑË÷·ÃÎÊ·¾¶ÉÏÓÐÒ»¸ö¿ÉÓõÄC±àÒëÆ÷. Èç¹ûûÓÐÀàËÆ·´Ó¦, Ò²²»Òâζ×ÅÄã±ØÈ»Ã»°²×°ÈκÎC±àÒëÆ÷. Ò²ÓпÉÄÜÄǸö±àÒëÆ÷²»ÔÚÄãµÄȱʡËÑË÷·ÃÎÊ·¾¶ÉÏ, µ±È», Ò²ÓпÉÄÜÄã¸ù±¾Ã»ÓбàÒëÆ÷. ½Ó×ÅÀ´ÊÔÕ⼸¸öÃüÁî:
- /usr/bin/cc
- /usr/bin/gcc
- /usr/local/bin/cc
- /usr/local/bin/gcc
- /usr/ccs/bin/cc
- Èç¹ûËûÃÇÖмäûÓÐÒ»¸öÃüÁîÆð×÷ÓÃ, Äã¿ÉÄÜÒª¶àÊÔµãºÍƽ̨ÓйصÄÃüÁîÀ². ÔÚÃüÁîÌáʾ·ûÏÂ, Çø±ðÓÚÄãʹÓÃµÄÆ½Ì¨²»Í¬, ·Ö±ðÇÃÈëÒÔÏÂÃüÁî:
- ¶ÔÓÚ Red Hat Linux, ʹÓÃ: rpm -qa | grep gcc »òÕß rpm -qa | grep egcs
- ¶ÔÓÚ FreeBSD: ĬÈϰ²×°ÒѾ°üÀ¨ÁËGCC±àÒëÆ÷.
- Èç¹ûÄãÕÒ²»µ½±àÒëÆ÷, Äã±ØÐëÈ·¶¨ËüµÄλÖûòÕß°²×°Ò»¸ö. ÇëÁªÂçÄãµÄ²Ù×÷ϵͳÏúÊÛÉÌ»òÕß²Ù×÷ϵͳ¼¼ÊõÖ§³Ö.
Õâ½ÚÎÒÃǽ«ÒªÊµÏÖ±àÒëqmailµÄ²½Öè. ¼ôÇÐ/Õ³Ìù(Òâ˼ÊǸ´ÖÆ»òÕßÕ³Ìù½Å±¾ºÍÃüÁîÐÐ. ÒëÕß×¢) »áºÜ·½±ã, ²»¹ýÒ²²»ÊDZØÐëµÄ.
2.5.2. ½âѹ·¢Ðаü
Èç¹ûÄãÒ»Ö±°´ÕÕÕâ¸öÖ¸µ¼À´×÷, ÄÇôÏÖÔÚÄãÒѾÓÐÁËÒ»¸öC±àÒëÆ÷, ÒÔ¼°Ô´´úÂëµÄtarball¸±±¾. ÏÂÒ»²½, ¿½±´»òÕßÒÆ¶¯tarball°üµ½¹¤×÷Ŀ¼. Ŀ¼/usr/local/src ¶ÔÓÚqmail ºÍucspi-tcp°²×°ÊǸö²»´íµÄλÖÃ. ¶ødaemontools Ó¦¸Ã½¨Á¢ÔÚ/packageÏÂ.
ÏÖÔÚÄãÐèÒª³ÉΪrootÓû§, Èç¹ûÄ㻹ûÓÐ, ÄǾͳÉΪroot°É.
su
umask 022
mkdir -p /usr/local/src
mv netqmail-1.05.tar.gz ucspi-tcp-0.88.tar.gz /usr/local/src
mkdir -p /package
mv daemontools-0.76.tar.gz /package
chmod 1755 /package
ÏÖÔÚÄã¿ÉÒԽ⿪Èí¼þ°üÁË.
cd /usr/local/src
gunzip netqmail-1.05.tar.gz
tar xpf netqmail-1.05.tar
cd netqmail-1.05
./collate.sh # ÔÚÕâ¶ùҪעÒâ´íÎóÐÅÏ¢
cd ..
gunzip ucspi-tcp-0.88.tar.gz
tar xpf ucspi-tcp-0.88.tar
rm *.tar # ´Ë²½Öè¿ÉÑ¡, ³ý·ÇÓ²Å̿ռäºÜ½ôÕÅ
cd /package
gunzip daemontools-0.76.tar.gz
tar xpf daemontools-0.76.tar
rm *.tar # ´Ë²½Öè¿ÉÑ¡, ³ý·ÇÓ²Å̿ռäºÜ½ôÕÅ
ÄÇô, ÏÖÔÚÓ¦¸ÃÓÐÏÂÃæ¼¸¸öĿ¼ /usr/local/src/netqmail-1.05, /usr/local/src/ucspi-tcp-0.88, and /package/admin/daemontools-0.76.
2.5.3. ½¨Á¢Ä¿Â¼
qmail°²×°³ÌÐò»á×ÔÐд´½¨ÐèÒªµÄ×ÓĿ¼, ÄãÖ»ÐèÒª´´½¨qmailµÄ"home"Ŀ¼.
mkdir /var/qmail
È»ºóÖ±´ïÏÂÒ»½Ú.
×¢Òâ: Èç¹ûÄãÏë°ÑqmailµÄÈ«²¿»òÕß²¿·ÖÎļþ°²×°µ½³ýÁË/varµÄÆäËûµØ·½, ¿ÉÒÔÔÚ/var/qmailϽ¨Á¢ÈíÁ´½Óµ½ÆäËûλÖÃ.
¾Ù¸öÀý×Ó, qmailÅäÖÃÎļþ¿ÉÒÔ´æ·ÅÔÚ/etc/qmailÏÂÃæ, ÈçϲÙ×÷:
mkdir /etc/qmail ln -s /etc/qmail /var/qmail/control
2.5.4. ´´½¨Óû§ºÍ×é
×îÈÝÒ׵Ĵ´½¨Óû§ºÍ×éµÄ·½Ê½ÊÇ´´½¨Ò»¸öС½Å±¾ÎļþÈ»ºóÖ´ÐÐËü. ÔÚÔ´´úÂëĿ¼ÏÂÄã¿ÉÒÔÕÒµ½Ò»¸öÃû×ÖÊÇINSTALL.idsµÄÎļþ, Ëü°üÀ¨ÁËÔÚÄãµÄϵͳƽ̨Ï´´½¨Óû§ºÍ×éµÄÃüÁîÐÐ. ¸´ÖÆÕâ¸öÎļþ²¢ÃüÃûÁíÍâÒ»¸öÃû×Ö, ±à¼ËüÀ´ÔËÐÐÃüÁî¼È¿ì½ÝÓÖ¼òµ¥.
cd /usr/local/src/netqmail-1.05/netqmail-1.05
cp INSTALL.ids IDS
½ÓÏÂÀ´, ÓÃÄã×î˳ÊÖµÄ±à¼Æ÷, ɾ³ýÎļþÆäÓಿ·Ö, ³ýÁ˱£ÁôÄãµÄƽ̨ÐèÒªµÄÃüÁ·Ö. ¾Ù¸öÀý×Ó, ÏÂÃæÊÇΪFreeBSDƽ̨±à¼Ö®ºóÁôϵIJ¿·Ö:
pw groupadd nofiles
pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
pw groupadd qmail
pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
È»ºóÔËÐÐÕâ¸ö½Å±¾, ÓÃchmod½«½Å±¾ÉèÖÃΪ¿ÉÖ´ÐлòÕßÓÃshÀ´ÔËÐÐËü.
µÚÒ»ÖÖ·½·¨:
chmod 700 IDS ./IDS
µÚ¶þÖÖ·½·¨:
/bin/sh IDS
Õâ¸ö½Å±¾ÔËÐÐÍê±Ï, ÄãµÄËùÓеÄÓû§ºÍ×é¾ÍÒѾÌí¼ÓÍê±Ï, Äã¿ÉÒÔ¼ÌÐøÏÂÒ»½ÚµÄ°²×°ÁË.
¿ÉÊÇÈç¹ûÄãµÄϵͳÔÚINSTALL.ids ÉÏûÓÐÌáµ½Ôõô°ì? ÄÇÄã¾Í±ØÐëÊÖ¶¯´´½¨Óû§ºÍ×éÁË. ʹÓÃÄã±È½Ï˳ÊÖµÄ±à¼Æ÷±à¼Õâ¸öÎļþ/etc/group, Ôö¼ÓÏÂÃæÁ½ÐÐ:
qmail:*:2107: nofiles:*:2108:
×¢Òâ: Ê×ÏÈÈ·¶¨2107ºÍ2108ûÓб»Ê¹ÓÃ, Èç¹ûÒѾ±»Õ¼ÓÃ, Ñ¡Ôñ2¸öÎļþÖÐδÓõÄÊý×Ö.
ÏÂÒ»²½, ʹÓÃvipw(´ó¶àÊýϵͳ¶¼ÓÐÕâ¸öÃüÁî, Èç¹ûûÓÐÄã¾Í±ØÐëÓÃ±à¼Æ÷ÊÖ¶¯±à¼, ²»¹ýÕâ´Î¿ÉÊÇ/etc/passwdÎļþ)ÔÚÎļþβ²¿Ôö¼ÓÏÂÃæÕâЩÐÐ:
alias:*:7790:2108::/var/qmail/alias:/bin/true qmaild:*:7791:2108::/var/qmail:/bin/true qmaill:*:7792:2108::/var/qmail:/bin/true qmailp:*:7793:2108::/var/qmail:/bin/true qmailq:*:7794:2107::/var/qmail:/bin/true qmailr:*:7795:2107::/var/qmail:/bin/true qmails:*:7796:2107::/var/qmail:/bin/true
×¢Òâ: Ê×ÏÈÈ·¶¨7790-7796ÕâЩδ±»Õ¼ÓÃÒÔ¼°ºÍ¸Õ²ÅÉÏÃæ±à¼µÄ2107, 2108ÊÇͬһ¸ö×éid. Èç¹ûÈÎÒâÒ»¸öÓû§ID(UID)±»Õ¼ÓÃ, ±ØÐëÑ¡ÓÃÆäËûδ±»Õ¼ÓõÄÓû§id.
Äã²»±ØÒ»¶¨°ÑÕâЩÐмӵ½Îļþβ²¿, ÕâÑù×÷Ö»ÊÇ×îÈÝÒ×˵Ã÷ÎÊÌâµÄ·½Ê½.
ÄãÏÖÔÚÒѾ¿ÉÒÔ½øÈëÏÂÒ»½ÚÁË.
2.5.5. ±àÒë
ÏÖÔÚÄã¿ÉÒÔ¿ªÊ¼±àÒëqmailÁË. ½øÈë/usr/local/src/netqmail-1.05/netqmail-1.05 Ŀ¼, ÎÒÃÇ¿ªÊ¼°É!
cd /usr/local/src/netqmail-1.05/netqmail-1.05
ÔÚ¼ìÑé±àÒë»·¾³Ð¡½Ú, Ä㶨λÁËÄãµÄC±àÒëÆ÷. Èç¹ûËüµÄÃû×Ö²»ÊÇcc»òÕß²»ÔÚÄã·ÃÎʵĻ·¾³±äÁ¿PATH¶¨ÒåµÄÈκÎĿ¼ÏÂ, Äã±ØÐëÐÞ¸Äconf-ccºÍconf-ld. ¼ÙÉèÄãµÄ±àÒëÆ÷Ãû×ÖÊÇgcc, ²¢ÇÒgccÔÚÄãµÄ»·¾³±äÁ¿PATHÄڿɼû, ÄÇô¼òµ¥À´Ëµ, ±à¼conf-ccºÍconf-ldÈ»ºóÖû»ËùÓÐ"cc"Ϊ"gcc"¾Í¿ÉÒÔÁË.
ÏÖÔÚÇÃÈëÏÂÃæµÄÃüÁî:
make setup check
Õâ¸ö±àÒëÍê³ÉÖ®ºó, ÄãÐèÒª×÷һЩ°²×°ºóÅäÖù¤×÷. ÔËÓÃÏÂÃæÁ½¸ö½Å±¾ÓÃÀ´Èù¤×÷¸ü¼òµ¥.
Èç¹ûÄãµÄDNSÅäÖÃÇ¡µ±, ÔËÐÐÕâ¸ö½Å±¾:
./config
Èç¹ûÓÉÓÚijЩÔÒòconfig ½Å±¾²»ÄÜÔÚDNSÕÒµ½ÄãµÄÖ÷»úÃû, Äã¾Í±ØÐëÔËÐÐconfig-fast½Å±¾: (Õâ¸öÔÒòÒ»°ãÀ´ËµÊÇÓÉÓÚconfigÔÚdns·´²éÖ÷»úIP¶ÔÓ¦µÄ¹æ·¶µÄÖ÷»úÃûʱºòûÓмǼ»òÕß³ö´íÔì³ÉµÄ. ÏÖ´úÉÌÒµdnsÒ»°ã¶¼²»ÌṩIP·´²é. ËùÒÔ°²×°¹ý³Ì¿ÉÄܸü¶à»ú»áÊÇÖ±½ÓʹÓÃconfig-fast ½Å±¾, ¶ø²»ÊÇconfig ½Å±¾. ÒëÕß×¢)
./config-fast the.full.hostname
¾Ù¸öÀý×Ó, Èç¹ûÄãµÄÓòÃûÊÇexample.com, ÄãµÄ¼ÆËã»úµÄÖ÷»úÃûÊÇdlphin, ÄãµÄconfig-fast ÃüÁîÐÐÓ¦¸ÃÕâÑùд:
./config-fast dolphin.example.com
×¢Òâ: Äã¿ÉÄܼƻ®ÔÚСÐͱ¾µØ¾ÖÓòÍøÊ¹ÓÃαÓòÃû±ÈÈç".local", ¾ÙÀýÀ´Ëµ, Èç¹ûÄãµÄÖ÷»úÃûÊÇ"mash", Äã¿ÉÄÜÒªÓà ./config-fast mash.local , Èç¹ûÄãÕâÑù×÷ÁË, Ҫȷ¶¨ÅäÖÃqmailÔÚ·µ»ØµØÖ·ÉÏʹÓÃÁ˺ϺõÂß¼µÄÒòÌØÍøÓòÃû. (²Î¼ûµÚ3½Ú, ÅäÖÃ.)
qmailÏÖÔÚÒѾ°²×°µ½ÄãµÄϵͳÄÚ, ²¢ÇÒ×¼±¸ÔËÐÐÁË! ÏÂÒ»½Ú½«Òª½éÉÜÔËÐкͲâÊÔqmail.
2.6. °²×° ucspi-tcp
¸Õ²ÅÄã½âѹÁËqmail, ucspi-tcp, ºÍdaemontools µÄtarball°ü, ÏÖÔÚ½øÈëucspi-tcpĿ¼.
cd /usr/local/src/ucspi-tcp-0.88
¸Õ²ÅÔÚ±àÒëÒ»½Ú, Èç¹ûÄãÐÞ¸ÄÁËconf-ccºÍconf-ldÎļþ, Äã±ØÐëÔÚÕâ¸öĿ¼×÷ͬÑùµÄÐÞ¸Ä.
È»ºó, ÔËÐÐ:
patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
ucspi-tcp°²×°Íê±Ï.
2.7. °²×° daemontools
½øÈëdaemontools°²×°Ä¿Â¼
cd /package/admin/daemontools-0.76
ÔÙ˵һ´Î, Èç¹ûÄãÔÚ±àÒëqmailºÍucspi-tcpµÄʱºòÐÞ¸ÄÁËconf-ccºÍconf-ldÎļþ, Äã±ØÐëÔÚÔÚsrcĿ¼×÷ͬÑùµÄÐÞ¸Ä.
È»ºó, ÔËÐÐ:
cd src
patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
cd ..
package/install
ÔÚBSDϵͳÉÏ(ûÓÐ /etc/inittab), Äã±ØÐëÖØÐÂÆô¶¯¼ÆËã»úÔÙÔËÐÐsvscan, ÕâÊǺǫ́·þÎñÆ÷µÄ¹ÜÀí·þÎñ³ÌÐò.
ʹÓà "ps -ef | grep svscan" »òÕß"ps waux | grep svscan" ¼ì²ésvscanÊÇ·ñÔÚÔËÐÐ.
×¢Òâ: ÔÚSolarisÏÂ, Äã±ØÐëÐÞ¸Ä/etc/inittabÖйØÓÚsvscanµÄÆô¶¯ÌõÄ¿, ½«
SV:123456:respawn:/command/svscanboot
¸ÄΪ:
SV:123456:respawn:/command/svscanboot /var/log/svscan 2>%26amp;1
»òÕ߸ÄΪ:
SV:123456:respawn:/command/svscanboot /dev/msglog 2>%26amp;1
Ñ¡ÔñÄÇÖÖ·½Ê½, ÕâÈ¡¾öÓÚÄãÊÇÏë°ÑÆô¶¯svscanµÄ³ö´íÏûÏ¢¼Ç¼µ½logÎļþÀïÃæ»¹ÊÇÏÔʾµ½¿ØÖÆÌ¨ÉÏ. ÕâÑù×÷µÄ±ØÒªÐÔÇë²Î¿¼ÏÂÃæµÄÎÄÕÂ:
http://marc.theaimsgroup.com/?l=log%26amp;m=100327801309834%26amp;w=2
×¢Òâ: Ò»¸öSlackwareµÄÓû§±¨¸æx1֮ǰµÄSV /etc/inittabÌõÄ¿±ØÐë±»ÒÆ¶¯, ·ñÔòÆô¶¯ºóÎÞ·¨ÔËÐÐsvscan.
2.8. ÔËÐÐ qmail
2.8.1. /var/qmail/rc
/var/qmail/boot Ŀ¼°üº¬Á˲»Í¬ÅäÖõÄqmailÆô¶¯½Å±¾Ê¾Àý: /var/spool/mail ·½Ê½ºÍ$HOME/Mailbox ·½Ê½, ʹÓÃprocmail»òÕß.forward ¿ØÖÆÎļþ, ÒÔ¼°ÕâЩ·½Ê½µÄ²»Í¬×éºÏÅäÖÃ. Äã¿ÉÒÔËæÒ⿼²éÕâЩ·½Ê½, ²»¹ýÕâÀïÎÒÃÇÑ¡ÓÃÏÂÃæµÄ½Å±¾:
#!/bin/sh# Using stdout for logging# Using control/defaultdelivery from qmail-local to deliver messages by defaultexec env - PATH="/var/qmail/bin:$PATH" \qmail-start "`cat /var/qmail/control/defaultdelivery`"
×¢Òâ: Õâ¸ö½Å±¾Ê¹ÓÃÁË·´ÒýºÅ(`), ¶ø²»Êǵ¥ÒýºÅ('). ×îºÃ¿½±´ºÍÕ³ÌùÉÏÎĵĽű¾¶ø²»ÊÇ×Ô¼º¼üÅÌÊäÈë, ºóÕßÈÝÒ׳ö´í. (·´ÒýºÅ·Ç³£Ð¡,Çë×Ðϸ¿´. ÒëÕß×¢)
ÓÃÄãµÄ±à¼Æ÷½«ÉÏÃæµÄ½Å±¾±£´æÎª /var/qmail/rc, È»ºóÖ´ÐÐÏÂÃæÕâЩÃüÁî:
chmod 755 /var/qmail/rc mkdir /var/log/qmail
ÏÖÔÚÄãÐèÒª¾ö¶¨Ò»ÏÂ, ³ýÁËÓÉ.qmail Îļþָʾ´«Ë͵ÄÓʼþÍâ, ÆäËûÓʼþ½«²ÉÓúÎÖÖĬÈÏ´«Ê䷽ʽ, (.qmail ÎļþÊÇָʾÎļþ´«ËÍ·¾¶µÄÖØÒªÎļþ, ºóÃæ»¹»áÌÖÂÛ. ÒëÕß×¢)ÏÂÃæµÄÁбí´óÖ²ûÊöÁ˼¸ÖÖÒ»°ãÐÔµÄÑ¡Ôñ:
| ÓÊÏä¸ñʽ | Ãû³Æ | ±£´æÎ»Öà | ȱʡµÄ´«Ê䷽ʽ | ×¢ÊÍ |
| mbox | Mailbox | $HOME | ./Mailbox | ×î³£¼ûµÄ¸ñʽ, ´ó¶àÊýMUA¶¼¿ÉÒÔÕýȷʶ±ð |
| maildir | Maildir | $HOME | ./Maildir/ | ¸ü¿É¿¿, ÉÙÊýMUAÖ§³ÖµÄ¸ñʽ |
| mbox | username | /var/spool/mail | ²Î¼û INSTALL.vsmÎļþ | ´«Í³µÄUNIXÓÊÏä |
¸ü¶àÐÅÏ¢Çë²Î¿¼ INSTALL.mbox, INSTALL.maildir ºÍ INSTALL.vsm Îļþ.
Ñ¡ÔñȱʡµÄÓÊÏä¸ñʽ, ֻҪѡÔñÉϱíÀïÃæµÄ"ȱʡ´«Ê䷽ʽ"µÄÖµ, Ìîдµ½/var/qmail/control/defaultdeliveryÀïÃæ¾Í¿ÉÒÔÁË. ÀýÈç, Èç¹ûÑ¡Ôñ±ê×¼µÄqmail /Mailbox ´«Ë͸ñʽ, ÕâÑù×÷¾ÍÐÐÁË:
echo ./Mailbox >/var/qmail/control/defaultdelivery
×¢Òâ: defaultdelivery²¢²»ÊDZê×¼µÄqmail¿ØÖÆÎļþ. ¶øÊÇÉÏÎÄ/var/qmail/rc ÎļþµÄÒªËØ. ¶ÔÓÚqmail-startÀ´Ëµ, defaultdelivery ±äÁ¿Ö»ÊÇÔÚûÓÐʵ¼ÊµÄ .qmail ÎļþÖ¸¶¨´«ËÍÖ¸ÁîµÄÇé¿öÏÂ×÷Ϊ .qmail ÎļþµÄÄÚÈݳöÏÖµÄ. °ÑÕâ¸öÖ¸Áî¼ÓÈëµ½µ¥¶ÀµÄ¿ØÖÆÎļþÄÚ, ¾Í²»±ØÔÙÔÚÖ¸ÁîÄÚÖØ¸´ÒýÓÃshellÔª×Ö·û, ±ÜÃâÁ˳öÏÖ¶àÐÐÔÓÂÒµÄÃüÁî²ÎÊý.
2.8.2. ϵͳÆô¶¯Îļþ
2.8.2.1. qmailctl ½Å±¾
Èç¹ûÄãÊÖ¶¯Ö´ÐÐ/varqmail/rc ½Å±¾, qmailÖ»»á²¿·Ö±»ÔËÐÐÆðÀ´. ¿ÉÊÇÎÒÃÇÏ£ÍûÏ£Íûÿ´ÎϵͳÆô¶¯ºó, qmail¶¼ÄÜ×Ô¶¯±»Æô¶¯; ÿ´Îϵͳֹͣʱºòqmail×Ô¶¯±»¹Ø±Õ.
´´½¨Ò»¸öÈçÏ嵀 /var/qmail/bin/qmailctl Îļþ¿ÉÒÔÍê³ÉÕâ¸öÔ¸Íû:
#!/bin/sh# description: the qmail MTAPATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbinexport PATHQMAILDUID=`id -u qmaild`NOFILESGID=`id -g qmaild`case "$1" in start) echo "Starting qmail" if svok /service/qmail-send ; then svc -u /service/qmail-send /service/qmail-send/log else echo "qmail-send supervise not running" fi if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd /service/qmail-smtpd/log else echo "qmail-smtpd supervise not running" fi if [ -d /var/lock/subsys ]; then touch /var/lock/subsys/qmail fi ;; stop) echo "Stopping qmail..." echo " qmail-smtpd" svc -d /service/qmail-smtpd /service/qmail-smtpd/log echo " qmail-send" svc -d /service/qmail-send /service/qmail-send/log if [ -f /var/lock/subsys/qmail ]; then rm /var/lock/subsys/qmail fi ;; stat) svstat /service/qmail-send svstat /service/qmail-send/log svstat /service/qmail-smtpd svstat /service/qmail-smtpd/log qmail-qstat ;; doqueue|alrm|flush) echo "Flushing timeout table and sending ALRM signal to qmail-send." /var/qmail/bin/qmail-tcpok svc -a /service/qmail-send ;; queue) qmail-qstat qmail-qread ;; reload|hup) echo "Sending HUP signal to qmail-send." svc -h /service/qmail-send ;; pause) echo "Pausing qmail-send" svc -p /service/qmail-send echo "Pausing qmail-smtpd" svc -p /service/qmail-smtpd ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd /service/qmail-smtpd/log echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send /service/qmail-send/log echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd /service/qmail-smtpd/log ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;; help) cat < Õâ¸ö½Å±¾¿ÉÒÔÔÚÏßÏÂÔØ, µØÖ·ÊÇhttp://www.lifewithqmail.org/qmailctl-script-dt70.(½¨ÒéËùÓÐÖ±½ÓʹÓÃ, »òÕß¿½±´-Õ³ÌùwebÒ³ÃæÖ¸ÁîºÍÎļþ¸ñʽ½Å±¾Ö¸ÁîµÄ¶ÁÕß, ¶¼Òª×¢Òâ½Å±¾±àÂëת»»µÄÎÊÌâ. ±¾ÎĽ²µ½µÄqmail ÊÇÔÚUnix/Linux ÀàÐÍ·þÎñÆ÷ÉÏÔËÐеÄ, ¶øUNIX µÄ»ØÐкÍDOS/WindowsµÄ»Ø³µÔڽű¾ÄÚ±íʾµÄACSIIÂëÊÇÍêÈ«²»Í¬µÄ, Èç¹ûÓöµ½Õâ¸öÎÊÌâ, ÔÚÖ®ºóµÄ½Å±¾Ö´ÐÐÖÐ, ¿ÉÄܳöÏַdz£Ææ¹ÖµÄ´íÎóÐÅÏ¢. ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÔÚËÑË÷ÒýÇæÉϲéÕÒÉîÈë½éÉÜÄÚÈÝ. ϸÐĵĶÁÕß»¹»á×¢Òâµ½, Ó¢ÎÄÔÎĺͷÒë°æ±¾, ÔÚ´úÂëǰºó¶¼¼ÓÉÏÁ˸ñʽ·û, ÆäÄ¿µÄ¾ÍÊÇΪÁ˱£Ö¤Ö¸Áî´úÂë²»»á±»webÒ³ÃæµÄ¸ñʽ´úÂë"ÎÛȾ". ÒëÕß×¢)Äã¿ÉÒÔ×Ô¼ºÊäÈëÕâ¸ö½Å±¾, ²»¹ýÎÒÍÆ¼öÄãÓÃä¯ÀÀÆ÷ÏÂÔØÉÏÃæÁ´½ÓµÄÎļþ.
½«ÉÏÃæÕâ¸öqmailctl ½Å±¾ÉèÖÃΪ¿ÉÖ´Ðнű¾, È»ºóÁ´½Óµ½ÄãµÄÓû§Ö´ÐгÌÐòĿ¼:
chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin2.8.2.2. supervise ½Å±¾
Ϊ qmail µÄ·þÎñ´´½¨ supervise Ŀ¼
mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log½¨Á¢ /, var/qmail/supervise/qmail-send/run Îļþ
#!/bin/shexec /var/qmail/rc½¨Á¢ /var/qmail/supervise/qmail-send/log/run Îļþ:
#!/bin/shexec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail½¨Á¢ /var/qmail/supervise/qmail-smtpd/run Îļþ:
#!/bin/shQMAILDUID=`id -u qmaild`NOFILESGID=`id -g qmaild`MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`LOCAL=`head -1 /var/qmail/control/me`if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1fiif [ ! -f /var/qmail/control/rcpthosts ]; then echo "No /var/qmail/control/rcpthosts!" echo "Refusing to start SMTP listener because it'll create an open relay" exit 1fiexec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>%26amp;1
×¢Òâ: concurrencyincoming²¢²»ÊDZê×¼µÄqmail¿ØÖÆÎļþ. ËüÊÇÉÏÃæ½Å±¾µÄÒ»¸öÒªËØ. ²¢ÇÒ, µÚÒ»¸öLOCAL ÐÐÉÏÃæµÄÊÇ"ÆÆÕۺŠ+ Êý×Ö1", ÏÂÃæµÄtcpserverÐÐÉϵIJÎÊýÊÇ"ÆÆÕۺŠ+ Сд×Öĸl" . (ÓÉÓÚÓ¢ÎÄСд×ÖĸlºÍÊý×Ö1ÈÝÒ×»ìÏý, Ô×÷ÕßÌØÒâ²¹³äµÄ×¢ÒâÊÂÏî. ÓÉÒëÕß½«±»Ìáµ½Á½ÐÐÐ޸ijÉΪºìÉ«. ÕâÒ²ÊÇΪʲô×÷ÕßÏ£Íû¶ÁÕßÖ±½Ó¿½±´½Å±¾¶ø²»ÊÇ×ÔÐÐÊäÈë±ÜÃâ½Å±¾³ö´íµÄÖ÷ÒªÔÒòÖ®Ò». ÁíÍâ×¢ÒâÕâ¸ö½Å±¾Öкܶà×ÖÌåºÜСµÄÒýºÅºÍ·´ÒýºÅ. ÒëÕß×¢)
×¢Òâ: SolarisϵͳÏÂÒ»°ãλÖõÄid³ÌÐò²»ÄÜÕý³£¹¤×÷, ÇëʹÓÃÕâ¸öλÖÃµÄ /usr/xpg4/bin/id:QMAILDUID=`/usr/xpg4/bin/id -u qmaild` NOFILESGID=`/usr/xpg4/bin/id -g qmaild`
×¢Òâ: ¸ù¾ÝÄãµÄ²Ù×÷ϵͳºÍÓ²¼þƽ̨µÄ²»Í¬, ¿ÉÄÜÐèÒªµ÷ÕûsoftlimitÃüÁîµÄµÄÄÚ´æÏÞÖÆ²ÎÊý. Èç¹ûÄãµÄϵͳ³öÏÖÁ¬½Ó25¶Ë¿Úʧ°ÜºÍÎÞ·¨½ÓÊÕÔ¶³Ìϵͳ·¢Ë͵ÄÓʼþ, »òÕß¿´µ½ÁËÀàËÆÏÂÃæÕâÑùµÄ´íÎóÏûÏ¢:/usr/local/bin/tcpserver: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memoryÊÔһϰÑÕâ¸ö²ÎÊýµ÷Õûµ½3000000µ½4000000.½¨Á¢concurrencyincoming ¿ØÖÆÎļþ.
echo 20 > /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyincoming½¨Á¢ /var/qmail/supervise/qmail-smtpd/log/run Îļþ
#!/bin/shexec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd½«¸÷¸örunÎļþÉèÖÃΪ¿ÉÖ´ÐÐÎļþ:
chmod 755 /var/qmail/supervise/qmail-send/run chmod 755 /var/qmail/supervise/qmail-send/log/run chmod 755 /var/qmail/supervise/qmail-smtpd/run chmod 755 /var/qmail/supervise/qmail-smtpd/log/runÈ»ºó½¨Á¢logÎļþĿ¼:
mkdir -p /var/log/qmail/smtpd chown qmaill /var/log/qmail /var/log/qmail/smtpd×îºó, ½¨Á¢ supervise Ŀ¼µ½ /service Ŀ¼µÄÁ´½Ó:
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service/service Ŀ¼ÊÇ daemontools °²×°Ê±½¨Á¢µÄĿ¼.
×¢Òâ: ½¨Á¢Õâ¸öÁ´½ÓÖ®ºó qmail ϵͳ»áºÜ¿ì×Ô¶¯±»Æô¶¯ÆðÀ´, Èç¹ûÄ㻹²»ÏëÁ¢¿ÌÔËÐÐqmail, ÔËÐÐÏÂÃæÕâ¸ö,ÃüÁîÀ´Í£Ö¹qmail:qmailctl stop2.8.2.3. SMTP ·ÃÎÊ¿ØÖÆ
ÔÊÐí±¾µØÖ÷»úͨ¹ýSMTP·½Ê½·¢ËÍÓʼþ:
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp qmailctl cdb2.8.3. Í£Ö¹²¢ÇÒ½ûÓÃ(ÆäËû)ÒѾ°²×°µÄMTA
ËäÈ»ÓпÉÄÜͬʱÔËÐÐqmail ºÍÏÖ´æµÄMTA, ±ÈÈçSendmail, ²»¹ýÎÒ½¨ÒéÄã³ý·ÇÄãÖªµÀ×Ô¼ºµ½µ×ÔÚ¸Éʲô, ·ñÔò¿É²»ÒªÕâô¸É. ˵ʵ»°, Èç¹ûÄãÕýÔÚ¶ÁÎÒÕâ¶Î»°, Äã¿ÉÄÜÒ²²»ÖªµÀ×Ô¼ºÔÚ¸ÉÂï. :-)
Èç¹ûÏÖ´æµÄMTAÊÇSendmail, ÄãÓ¦¸ÃÄÜÀûÓÃÔËÐÐSendmailµÄinit.d½Å±¾µÄ"stop"²ÎÊýÀ´Í£Ö¹ËüµÄÔËÐÐ. ÀýÈçÏÂÃæÃüÁîÖеÄÒ»¸ö¿ÉÄÜÊÇÓÐЧµÄ:
/etc/init.d/sendmail stop /sbin/init.d/sendmail stop /etc/rc.d/init.d/sendmail stopÈç¹ûÄãÕÒ²»µ½ÈκÎÒ»¸öinit.d/sendmail ϵĽű¾, Äã¿ÉÒÔÓà "ps -ef|grep sendmail" »òÕß "ps waux|grep sendmail" ÃüÁîÕÒ³ö sendmail µÄPID, È»ºóÓÃÏÂÃæµÄÃüÁîÀ´Í£Ö¹Sendmail: (kill ÃüÁî¼ÓÉÏSendmailµÄPID×÷²ÎÊý, ÒëÕß×¢)
kill PID-of-sendmailÈç¹ûÄãµÄMTA²»ÊÇSendmail, ¼ì²éÏà¹ØÎĵµÕÒ³öÕýÈ·µÄÍ£Ö¹MTAµÄ·½·¨.
ÄãÓ¦¸Ã¿¼ÂÇһϰѾɵÄMTA³¹µ×µÄ´ÓÄãµÄϵͳÀïÃæÉ¾³ý. ÖÁÉÙ½ûÓÃËüµÄ init.d ½Å±¾, ·ÀÖ¹ÏÂÒ»´ÎÏµÍ³ÖØÆô¶¯µÄʱºò¾ÉµÄMTAÒ²±»ÊÔÍ¼ÖØÆô.
¶ÔÓÚʹÓÃrpm·½Ê½°²×°SendmailµÄ Red Hat Linux, Ö´ÐÐÏÂÃæµÄÃüÁîÀ´É¾³ýSendmail:
rpm -e --nodeps sendmail
×¢Òâ: Èç¹ûÄãʹÓûùÓÚRPM·½Ê½µÄLinux, ±ÈÈç Red Hat, ɾ³ýMTA¿ÉÄÜ´øÀ´½øÒ»²½µÄÎÊÌâ. ϵͳµÄijЩӦÓóÌÐò½«»áÊÔÍ¼ÖØÐ°²×°Sendmail, һЩMUA³ÌÐò½«ÎÞ·¨°²×°, ÒòΪËûÃÇÕÒ²»µ½°²×°ºÃµÄMTA. Mate Wierdl ÌṩÁËÒ»¸öռλ³ÌÐò, ³Æ×÷ "fake_mta", °²×°Õâ¸ö³ÌÐòÖ®ºó¿ÉÒÔ·ÀÖ¹³öÏÖÒÔÉϵÄÎÊÌâ. ¼òµ¥µÄRPM°²×°°ü¿ÉÒÔÔÚÏÂÃæµÄµØÖ·È¡µÃ http://www.csi.hu/mw/fake_mta-1-1memphis.noarch.rpm.¼ì²éÒ»ÏÂûÓÐÆäËû³ÌÐòÔÚ¼àÌýSMTP·þÎñ¶Ë¿Ú(25). ¾ÉµÄMTA, inetd, »òÕß xinetd µÈ³ÌÐò¶¼ÓпÉÄÜÔì³ÉÎÊÌâ. (°´ÕÕÒÔÉϲ½ÖèÖ´Ðкó, ÔÙ) ÔËÐÐÏÂÃæµÄÃüÁîÓ¦¸ÃÊÇûÓÐÊä³ö½á¹ûµÄ(³ý·ÇÕâ¸öʱºò qmail-smtpd ·þÎñÒ²ÔÚÔËÐÐ).
netstat -a | grep smtpÈç¹ûÓÐʲô³ÌÐòÔÚÔËÐÐ, Ê×ÏÈÈ·¶¨²»ÊÇqmail, ÄÇôÏÈÔËÐÐÏÂÃæµÄÃüÁî:
qmailctl stopÈ»ºóÖØ¸´ netstat ¼ì²é:
netstat -a | grep smtpÈç¹ûÄ㻹ÊÇÄÜ¿´µ½Õâ¸öÃüÁîÓÐһЩÊä³ö, Äã¾Í±ØÐëÔÚqmail µÄSMTP·þÎñÔËÐÐÆðÀ´Ö®Ç°°ÑÕØÊ³ÌÐòÕÒ³öÀ´.
×îºó, ½«ÏÖ´æµÄ /usr/lib/sendmail Ìæ´úΪ qmail °æ±¾.
mv /usr/lib/sendmail /usr/lib/sendmail.old # ºöÂÔ´íÎóÌáʾ ignore errors mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ºöÂÔ´íÎóÌáʾ ignore errors chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ºöÂÔ´íÎóÌáʾ ignore errors ln -s /var/qmail/bin/sendmail /usr/lib ln -s /var/qmail/bin/sendmail /usr/sbin
×¢Òâ: ´´½¨ sendmail µÄÁ´½ÓÊǺÜÖØÒªµÄ, ¼´Ê¹²»¹ÜÒÔǰµÄMTA, sendmail ÃüÁîÒ²ÊÇÒ»¸ö»á±»ºÜ¶à³ÌÐòµ÷ÓÃÀ´·¢ËÍÓʼþµÄÖØÒªÃüÁî.×îºó²½ÖèÊǽ¨Á¢Á½¸öϵͳ±ðÃû.
2.8.4. ½¨Á¢ÏµÍ³±ðÃû
ÔÚËùÓÐ qmail °²×°ÉÏÃæ¶¼Òª½¨Á¢Ëĸöϵͳ±ðÃû:
±ðÃû Ä¿µÄ postmaster RFC 2821 ±ê×¼ÒªÇó, Ö¸ÏòÓʼþϵͳ¹ÜÀíÔ±(Ò²¾ÍÊÇÄã) mailer-daemon ·´µ¯ÓʼþÊÂʵÉϵıê×¼½ÓÊÕÕß root ת·¢ÌØÈ¨Óû§, ¸ù(root)Óû§µÄÓʼþ¸øÏµÍ³¹ÜÀíÕß abuse ÊÂʵÉϵÄÓʼþÀÄÓÃ(À¬»øÓʼþ)¾Ù±¨µØÖ· ½¨Á¢ÕâЩϵͳ±ðÃû, È¡¾öÓÚÄãÏëÈÃÕâЩÓʼþ·¢Ë͵½ÄÄÀï(Ò»¸ö±¾µØÓû§»òÕßÒ»¸öÔ¶³ÌµØÖ·)²¢ÇÒÊʵ±µÄ´´½¨Ò»¸ö.qmail Îļþ¼¯ºÏ. ¾Ù¸öÀý×Ó, ¼ÓÈëÄãÏëÈñ¾µØÓû§ dave ½ÓÊÕ·¢¸øÏµÍ³¹ÜÀíÔ±ºÍÓʼþ¹ÜÀíÔ±µÄÓʼþ, ¾ÍÕâô×÷:
echo dave > /var/qmail/alias/.qmail-root echo dave > /var/qmail/alias/.qmail-postmaster ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon ln -s .qmail-postmaster /var/qmail/alias/.qmail-abuse chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmasterÔÚ INSTALL.alias ÎļþÀïÃæÓиüÏêϸµÄϸ½Ú.
2.8.5. ÔËÐÐ qmail
Èç¹ûÒÀÕÕÉÏÎÄ, Äã´´½¨ /service Ö®ºó¾ÍÍ£Ö¹ÁËqmail, ÄãÏÖÔÚÓ¦¸ÃÖØÐÂÆô¶¯ qmail:
qmailctl start2.9. ²âÊÔ°²×°
qmail ÏÖÔÚÓ¦¸ÃÊÇÕýÔÚÔËÐеÄ״̬. Ê×ÏÈÔËÐÐ qmailctl stat À´¼ìÑéÄÇЩ·þÎñÆô¶¯²¢ÔËÐÐÖÐ:(ÏÂÃæÃüÁîºó²¿·ÖΪÑÝʾ½á¹û, ²¢²»ÊDZØÈ»Èç´ËµÄϵͳÊä³ö. ÒëÕß×¢)
# qmailctl stat /service/qmail-send: up (pid 30303) 187 seconds /service/qmail-send/log: up (pid 30304) 187 seconds /service/qmail-smtpd: up (pid 30305) 187 seconds /service/qmail-smtpd/log: up (pid 30308) 187 seconds messages in queue: 0 messages in queue but not yet preprocessed: 0ËùÓеÄËĸö·þÎñ¶¼Ó¦¸ÃÊÇ"up"(Æô¶¯ÁË)1ÃëÖÓÒÔÉÏ. Èç¹û²»ÊÇÕâÑù, Äã¿ÉÄܾÍÊÇÔÚд½Å±¾µÄʱºòд´íÁËһЩ¶«Î÷»òÕßÄ㩹ýÁË´´½¨Ò»¸öÉõÖÁ¶à¸ö±ØÒªµÄÎļþ, Ŀ¼»òÕßÁ´½Ó. ·µ»ØÉÏÃæµÄ°²×°Ö¸µ¼, Ò»²½Ò»²½µÄÔÙ¼ì²éÒ»ÏÂÄãµÄ¹¤×÷. ÄãÒ²¿ÉÒÔÏÂÔØ²¢ÔËÐÐ inst_check ½Å±¾, ÔÚÕâÀïÏÂÔØ http://lifewithqmail.org/inst_check. ¾Ù¸öÀý×Ó:
# sh inst_check ! /var/log/qmail has wrong owner, should be qmaill ...try: chown qmaill /var/log/qmail #Èç¹û inst_check ·¢ÏÖÁËÎÊÌâ, ½â¾öÎÊÌâºóÖØÐÂÔËÐÐÕâ¸ö¼ì²é½Å±¾. µ±ËùÓÐÇé¿ö±»ÅжÏΪÕýÈ·µÄʱºò, inst_check ½«»á±¨¸æ:
Congratulations, your LWQ installation looks good!readproctitle ³ÌÐòά³Ö×ÅÓÉsvscan ¹ÜÀíµÄ¸÷¸ö·þÎñµÄ´íÎóÏûÏ¢µÄÈÕÖ¾. ʹÓà ps »òÕ߯äËû½ø³ÌÁбíÃüÁî. ¾Ù¸öÀý×Ó, Äã¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÑùµÄÊä³ö:
# ps -efl | grep "service errors" | grep -v grep 000 S root 1006 1001 0 76 0 - 334 pipe_w Mar31 ? 00:00:00 readproctitle service errors: ...unable to start qmail-smtpd/run: exec format error #Õâ¸öÀý×ÓÀïÃæ, ÎÊÌâ³öÔÚ /service/qmail-smtpd/run Õâ¸ö½Å±¾µÄµÚÒ»ÐÐ--ºÜÓпÉÄÜÓÉÓڽű¾ÎļþÊÇ DOS ¸ñʽ (DOSʹÓûسµ·û-»»Ðзû½áÊøÒ»Ðеķ½Ê½ºÍUnixµÄ½ö½öÓû»Ðзû·½Ê½²»Í¬).
ÓÐʱºòΪÁ˼ìÑéÅäÖôíÎó, ÊÖ¶¯ÔËÐÐһϷþÎñÒ²»áºÜÓаïÖúµÄ. ¾Ù¸öÀý×Ó, Èç¹ûÄãµÄ qmail-smtpd/log ·þÎñûÓÐÔËÐÐ, ÄÇôִÐÐÏÂÃæµÄÃüÁî:
cd /service/qmail-smtpd/log svc -d . ./run Èç¹ûûÓдíÎó, ÊäÈëÒ»ÐÐ×Ö·ûÈ»ºó°´»Ø³µ¼ü Èç¹û»¹ÊÇûÓдíÎó, ÊäÈëCTRL-D (Îļþ½áÊø·û)Õâ¸öʱºò, ÄãÓ¦¸ÃÄܹ»Ê¶±ðÎÊÌâËùÔÚ²¢ÇÒ½â¾öËüÁË. Õâ¸ö×öÍêÖ®ºó, ·µ»Ø·þÎñĿ¼, Èç¹ûÓбØÒª, ÔËÐÐÃüÁî:
svc -u .Ò»µ©ÄÇЩ·þÎñµÄÆô¶¯Ê±¼ä¶¼´óÓÚ1ÃëÖÓºó, ÒÀÕÕ TEST.deliver ºÍ TEST.receive ÎļþÀïÃæµÄÖ¸ÁîȥУÑé·þÎñÊÇ·ñÕýÈ·µÄ¹¤×÷. ×¢Òâ, Ó¦ÓÃÕâЩָÁî, ÈÕÖ¾½«ÓÉmultilog ³ÌÐò¼Ç¼µ½ /var/log/qmail ÏÂ, ¶ø²»ÊÇ splogger ¼Ç¼µ½ÀàËÆ /var/log/maillog µÄÎļþÀïÃæ.
×¢Òâ: Èç¹ûÄãÑ¡ÔñÁË maildir ÓÊÏä¸ñʽ×÷ΪĬÈϵĴ«ËÍ·½Ê½, ÔÚÔËÐÐÕâЩָÁî֮ǰ, Äã±ØÐëÔÚÄãµÄÖ÷Ŀ¼ºÍ±ðÃûµÄÖ÷Ŀ¼´´½¨ Maildir Ŀ¼. ²Î¼û maildir С½Ú²éÕÒÈçºÎÇ¡µ±µÄ´´½¨Õâ¸öĿ¼.3. ÅäÖÃ
ÄãÒѾ´ÓÔ´´úÂëtarball·½Ê½, »òÕß×Ô±àÒë°ü·½Ê½, »òÕßvar-qmail°ü·½Ê½°²×°ÁË qmail. ÕâÒ»½ÚµÄÄÚÈݾÍÊǰ´ÕÕÄãµÄÐèÒªÅäÖÃqmail.
3.1. ÅäÖÃÎļþ
ËùÓеÄqmailϵͳÅäÖÃÎļþ, ³ýÁËÔÚ~aliasÏ嵀 .qmail Îļþ, ¶¼Î»ÓÚ /var/qmail/control Ŀ¼ÏÂ. qmail-control µÄmanÊÖ²áÒ³°üÀ¨ÁËÒ»¸öÏñÏÂÃæÕâÑùµÄ±í:
¿ØÖÆÎļþ ĬÈÏÖµ ±»ÓÃÓÚ Ê¹ÓÃÄ¿µÄ badmailfrom none qmail-smtpd From µØÖ·ºÚÃûµ¥ bouncefrom MAILER-DAEMON qmail-send ·´µ¯ÓʼþµÄ·¢ËÍÕß bouncehost me qmail-send ·´µ¯ÓʼþµÄ·¢ËÍÕßÖ÷»úÃû concurrencyincoming none /service/qmail-smtpd/run ×î´ó²¢ÐÐ SMTP Á¬½ÓÊý concurrencylocal 10 qmail-send ×î´ó²¢Ðб¾µØ´«ËÍÊý concurrencyremote 20 qmail-send ×î´ó²¢ÐÐÔ¶³Ì´«ËÍÊý defaultdelivery none /var/qmail/rc ĬÈ쵀 .qmail Îļþ defaultdomain me qmail-inject ĬÈϵÄÓòÃû defaulthost me qmail-inject ĬÈϵÄÖ÷»úÃû databytes 0 qmail-smtpd Óʼþ×î´ó×Ö½ÚÊý (0 µÈÓÚÎÞÏÞ) doublebouncehost me qmail-send Ë«ÖØ·´µ¯µÄ·¢ËÍÕßµÄÖ÷»úÃû doublebounceto postmaster qmail-send ½ÓÊÕË«ÖØ·´µ¯ÓʼþµÄÓû§ envnoathost me qmail-send ¶ÔȱÉÙ"@"·ûºÅµÄµØÖ·ÅäÖõÄȱʡÓòÃû helohost me qmail-remote ÔÚSMTP HELLOÃüÁîÀïÃæÊ¹ÓõÄÖ÷»úÃû idhost me qmail-inject ÔÚMessage-ID ÀïÃæÊ¹ÓõÄÖ÷»úÃû localiphost me qmail-smtpd Ìæ´ú±¾µØ IP µØÖ·µÄÃû×Ö locals me qmail-send ½øÐб¾µØ´«Ë͵ÄÓò me ϵͳµÄÕýʽÓòÃû FQDN various Ðí¶à¿ØÖÆÎļþµÄĬÈÏÒªÇó morercpthosts none qmail-smtpd ¶þ¼¶rcphosts(½ÓÊÕÖ÷»ú)Êý¾Ý¿â percenthack none qmail-send ¿ÉÒÔʹÓÃ"%"ģʽתÐŵÄÓò plusdomain me qmail-inject "+"¼ÓºÅÍÏβµØÖ·Ìæ´úµÄÓò qmqpservers none qmail-qmqpc QMQP ·þÎñÆ÷IPµØÖ· queuelifetime 604800 qmail-send ÓʼþÔÚ¶ÓÁÐÄڿɱ£ÁôÃëÊý rcpthosts none qmail-smtpd ÎÒÃǵÄÖ÷»ú½ÓÊÕÓʼþµÄÓò smtpgreeting me qmail-smtpd SMTP ÎʺòÐÅÏ¢ smtproutes none qmail-remote ÈËΪָ¶¨µÄSMTP·ÓÉ timeoutconnect 60 qmail-remote SMTPÁ¬½Ó³¬Ê±ÃëÊý timeoutremote 1200 qmail-remote Ô¶³Ì·þÎñÆ÷Á¬½Ó³¬Ê±ÃëÊý timeoutsmtpd 1200 qmail-smtpd SMTP¿Í»§¶Ë³¬Ê±ÃëÊý virtualdomains none qmail-send ÐéÄâÓòºÍÓû§ ²éÕÒÕâÐ©ÌØÊâ¿ØÖÆÎļþµÄ¸ü¶àÐÅÏ¢, Çë²Î¿¼ÉÏÃæ±í¸ñ "±»ÓÃÓÚ" ÁÐϵĸ÷¸öÄ£¿éµÄ man ÊÖ²áÒ³.
3.2. ÖмÌתÐÅ
3.2.1. ½éÉÜ
ʲôÊÇתÐÅ? תÐÅÊÇ MTA ͨ¹ýSMTP½ÓÊÕµ½Ò»·â¼È²»ÊÇ·¢¸ø±¾µØµØÖ·Ò²²»ÊÇ´Ó±¾µØ·¢ËÍÕß·¢À´µÄÓʼþÖ®ºó, MTAת·¢Õâ¸öÓʼþµÄ¶¯×÷¾ÍÊÇתÐÅ.
ÔÚÀ¬»øÓʼþʱ´ú֮ǰ, MTA±»ÅäÖÃΪ¿ª·ÅתÐÅÊǺܳ£¼ûµÄ: ¸÷ÖÖ¸÷ÑùµÄ·þÎñÆ÷½ÓÊÜÀ´×ÔÈκÎÈ˵ÄÓʼþ, ת·¢¸øÈκÎÈË.
ÏÖ´úµÄ¾ø´ó¶àÊý MTA ¶¼±»ÅäÖÃΪ»òÕßÍêÈ«½ûֹתÐÅ, »òÕßÖ»ÔÊÐíijЩ±»ÐÅÈεÄÓû§»òÕßϵͳʹÓÃÖмÌתÐŹ¦ÄÜ.
Chris Johnson Ϊqmail µÄÓû§Ð´ÁËÒ»¸ö·Ç³£ºÃµÄÎĵµ. ÎÒ¹ÄÀøÄãÈ¥¿´Ò»¿´: http://www.palomine.net/qmail/relaying.html.
3.2.2. ½ûֹתÐÅ
Èç¹ûÄãÊǰ´ÕÕ qmail µÄÕýʽ°²×°Ö¸µ¼°²×°µÄ»°, ÄÇôתÐÅÔÚĬÈÏÇé¿öÏÂÒѾ±»¹Ø±ÕÁË. Õâ¸ö¹¦ÄÜÊÇͨ¹ý°ÑlocalºÍvirtualdomains(Ö¸±¾µØÖ÷»ú)ÎļþÀïÃæÁгöµÄÓгä·Ö×ʸñµÄÓòÃûдÈë /var/qmail/control/rcpthosts ÎļþÀ´Íê³ÉµÄ. rcpthosts Õâ¸öÎļþÃûÊÇÀ´Ô´ÓÚSMTP¶Ô»°ÖеĵÄRCPT(½ÓÊÕÕß)ÃüÁî. ÔÚSMTP¶Ô»°ÀïÃæ, RCPTÊÇÓÃÀ´È·ÈÏÓʼþ½ÓÊÕÕßµØÖ·µÄ, È»ºó, rcpthosts Áгö¿ÉÒÔ³öÏÖÔÚRCPTµØÖ·ÀïÃæµÄÓÐЧµÄÖ÷»úÃû.
3.2.3. ÔÊÐíÓÐÑ¡ÔñµÄתÐÅ
´ó¶àÊýµ¥Óû§ºÍСÐ͹¤×÷×é·þÎñÆ÷¿ÉÒÔÍêÈ«½ûֹתÐÅ, ¿ÉÊÇÈç¹ûÄãά»¤µÄÊÇÒ»¸ö·Ö²¼Ê½µÄÓû§ÉçÇø, Äã¾Í±ØÐëÓÐÒ»¸ö·½Ê½Äܹ»ÔÊÐíÄãµÄÓû§, ¶øÇÒÖ»ÄÜÊÇÄãµÄÓû§Í¨¹ýµÄÄãµÄϵͳתÐÅ. ±¾ÎÄÊÇͨ¹ýʹÓà tcpserver À´ÉèÖÃRELAYCLIENT »·¾³±äÁ¿, ʹ qmail-smtpd ÖØÔØ rcpthosts ÎļþÍê³ÉÕâ¸ö¹¦ÄܵÄ.
Èç¹ûÄãÊǰ´ÕÕÕâ¸öÎĵµµÄÖ¸µ¼°²×°µÄ»°, ÓÐÑ¡ÔñµÄתÐÅÒѾÔÚĬÈÏÇé¿öϰ²×°ºÃÁË. Èç¹ûÐèÒª¸ø¿Í»§¶ËתÐÅȨÀû, Ê×ÏÈÔÚ /etc/tcp.smtp ÎļþÀïÃæÔö¼ÓÀàËÆÏÂÃæµÄÐÐ:
IP address of client:allow,RELAYCLIENT=""(бÌåIP address of client´ú±í¿Í»§¶ËµÄIPµØÖ·. ÒëÕß×¢) È»ºóÖØ½¨SMTPµÄ·ÃÎÊÐí¿ÉÊý¾Ý¿â:
qmailctl cdb»òÕßÔËÐÐÏÂÃæµÄÃüÁî(ÖØ½¨Êý¾Ý¿â):
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp*Èç¹ûÄãÊǰ´ÕÕÕýʽ°²×°Ö¸µ¼°²×°µÄ, Chris JohnsonдÁËÁíÍâÒ»¸ö·Ç³£ºÃµÄÈçºÎÅäÖÃqmailÔÊÐíÑ¡ÔñÖ÷»úת·¢ÓʼþµÄÎĵµ, ²Î¼û: http://www.palomine.net/qmail/selectiverelay.html.
3.2.4. ʹÓÃsmart hostÖмÌתÐÅ
Èç¹ûÔÚÒ»¸öµäÐ͵ļÒÍ¥¿í´øÉÏÍøÌõ¼þϽ¨Á¢Óʼþ·þÎñÆ÷, ÄÇô½«Óзdz£´óµÄ¿ÉÄÜ, Õâ¸ö·þÎñÆ÷µÄIPµØÖ·»á±»ÁÐÈëºÚÃûµ¥, ±ÈÈçSORBS(http://www.dnsbl.sorbs.net/lookup.shtml)µÄºÚÃûµ¥, ÕâÑù×÷ÊÇΪÁË·ÀÖ¹À¬»øÓʼþ. ¾ø´ó¶àÊýISP¶¼¸øËûÃǵÄÓû§ÌṩSMTP·þÎñÆ÷ÓÃÀ´×ªÐÅ, ÕâЩ·þÎñÆ÷ͨ³£²»ÔÚºÚÃûµ¥ÄÚ. ¾Ù¸öÀý×Ó, Road Runner(ÃÀ¹úijISP. ÒëÕß×¢)ÔÚÐÁÐÁÄÇÌá(ÃÀ¹úµØÃû. ÒëÕß×¢)ʹÓÃsmtp-server.cinci.rr.com Õâ¸ö·þÎñÆ÷À´ÎªËýµÄÓû§ÌṩSMTPתÐÅ·þÎñ. Äã¿ÉÒÔÈÃqmail ½«ËùÓÐÏòÍâ´«Ë͵ÄSMTP ·ÃÎʶ¼Í¨¹ýÕâ¸ö·þÎñÆ÷, Äã¿ÉÒÔÕâÑù×÷:
echo ":smtp-server.cinci.rr.com" > /var/qmail/control/smtproutessmtproutes Îļþ¿ÉÒÔÌṩ¸ü¶àµÄ·¾¶Ñ¡Ôñ¹¦ÄÜ, Çë²Î¿¼qmail-remote µÄman °ïÖúÎĵµ.
3.3. ¶àÖ÷»úÃû
Èç¹ûÄãµÄÖ÷»úÃûÒÑÖªÅäÖÃÁ˶à¸öÃû×Ö, ÀýÈç, ËùÓеÄÀ´×Ôuser@host1.example.com µÄµØÖ·Ò²¿ÉÒÔ±»Ð´³É user@example.com »òÕß user@mail.example.com, ÄÇôÄã¾Í±ØÐë¸æËß qmail ÄÄÒ»¸öµØÖ·ÊÇËüÓ¦¸Ã±¾µØ´«Ë͵ĵØÖ·, ÄÄÒ»¸öµØÖ·ÊÇËüÓ¦¸Ã½ÓÊܵÄÔ¶³ÌÖ÷»ú·¢Ë͵ĵØÖ·.
Èç¹ûÒªÕâÑù×÷, Ö»Òª°ÑËùÓеÄÃû×Ö¼ÓÈëÏÂÃæÁ½¸ö¿ØÖÆÎļþ¾ÍÐÐÁË:
- rcpthosts, Õâ¸öÎļþ֪ͨ qmail-smtpd ½ÓÊÕÕâ¸öÖ÷»ú¿ÉÒÔ½ÓÊܵĵØÖ·. »¹ÓÐ
- locals, Õâ¸öÎļþ֪ͨ qmail-send ÄÄЩµØÖ·ÊDZ¾µØ´«Ë͵ØÖ·.
¸ø qmail-send ·¢ËÍÒ»¸öHUP(¹ÒÆð)ÐźÅÀ´Í¨ÖªËüÖØÐ¶ÁÈ¡ localsÎļþ. Èç¹ûÄãʹÓõÄÊDZ¾ÎÄµÄ qmailctl ½Å±¾, ÄÇôÔËÐÐÏÂÃæµÄÃüÁî¾Í¿ÉÒÔÁË:
qmailctl reload3.4. ÐéÄâÓò
ÐéÄâÓòºÍÉϽÚÌáµ½µÄ¶àÖ÷»úÃûÀàËÆ, ²»¹ýÕâÀïÃæÓÐһЩºÜÖØÒªµÄ²»Í¬Ö®´¦. Ê×ÏÈÈç¹û example.net ÊÇ virtual.example.net ÐéÄâÓòµÄËÞÖ÷Ö÷»ú, ÄÇôһ¸ö·¢Ë͸ø joe@virtual.example.net µÄÓʼþ½«²»»á±»·¢Ë͸ø¼´Ê¹ÊÇͬһ¸öÓÊÏäµÄ joe@example.net, ÕâÀïÐéÄâÓòµÄÃû×Ö¿Õ¼äÊdzåÍ»µÄ.
ʹÓà qmail, ÐéÄâÓò½«ÔÚ virtualdomains ÎļþÀïÃæÅäÖÃ, ÎļþÄÚÓÉÐÍÈçÏÂÃæÕâÐеÄÌõÄ¿¹¹³É:
user@domain:prependqmail ת»» user@domain Ϊ prepend-user@domain ²¢ÇÒ½«Õâ¸öת»»ºóµÄÃû×Ö×÷Ϊ±¾µØÓòÒ»Ñù¶Ô´ý. user@ Õâ¸ö²¿·ÖÊÇ¿ÉÑ¡µÄ, Èç¹ûȱÉÙÕâ¸ö²¿·Ö, Õâ¸öÃû×Ö½«Æ¥ÅäËùÓÐ @domain ÓòÏÂÃæµÄµØÖ·.
»Øµ½ÉÏÎÄµÄ example ¾çÇéÀïÃæ, Èç¹û example.net Óʼþ¹ÜÀíԱϣÍû´´½¨ virtual.example.com ÐéÄâÓò, ²¢ÇÒ½«Õâ¸öÓòÖÃÓÚÓû§ john µÄ¹ÜÀíÖ®ÏÂ, virtualdomains ÎļþÏÂÃæµÄÐéÄâÓòÌõĿӦ¸ÃÕâÑùд:
virtual.example.com:johnÕâÑù, ·¢Íù joe@virtual.example.com µÄÓʼþ½«»á±»ÐÞ¸ÄΪ·¢Íù john-joe@virtual.example.com , È»ºó½øÐб¾µØ´«ËÍ. ¸ü¶àÐÅÏ¢, Çë²Î¼û .qmail С½Ú, ÒÔ¼° À©Õ¹µØÖ· ϸĿ. ÄÇÀォ½éÉÜ john ÈçºÎ¹ÜÀíËûµÄÐéÄâÓò.
ʹÓöàÖ÷»úÃûµÄʱºò, ËùÓеÄÐéÄâÓò¶¼±ØÐëÔÚrcphostsÁгö, ÕâÑù qmail-smtpd ²Å»áÖªµÀÄÇЩµØÖ·µÄÓʼþ²ÅÓ¦¸Ã±»½ÓÊÜ. µ«ÊDz»Ïñ¶àÖ÷»úÃû·½Ê½, ÐéÄâÓò²»¿ÉÒÔÔÚlocalsÀïÃæÉèÖÃÏàÓ¦ÌõÄ¿.
ÐÞ¸Ä virtualdomainsÎļþÖ®ºó, ·¢Ë͸ø qmail-send Ò»¸ö HUP (¹ÒÆð) ÐźÅ, ֪ͨËüÖØÐ¶ÁÈ¡ÅäÖÃÎļþ. Èç¹ûÄãʹÓñ¾ÎÄµÄ qmailctl ½Å±¾, Äã¿ÉÒÔÔËÐÐÈçÏÂÃüÁî:
qmailctl reloadͬʱ, ²»ÒªÍüÁËÔÚ rcpthosts ÀïÃæÔö¼ÓÐéÄâÓòÌõÄ¿.
×¢Òâ: ±ØÐëÉèÖÃÓòÃû·þÎñÆ÷(DNS)µÄÓʼþ½»»»Æ÷(MX)¼Ç¼, ÒÔʹÐéÄâÓòÖ¸ÏòÕýÈ·µÄÓʼþ·þÎñÆ÷. ÕâÊÇÃû×Ö·þÎñÆ÷¹ÜÀíÔ±µÄ¹¤×÷, ³¬³öÁ˱¾ÎÄÌÖÂ۵ķ¶Î§.3.5. ±ðÃû
qmailµÄ±ê×¼±ðÃû»úÖÆÊÇÓÉqmailµÄ±¾µØ´«ËÍ»úÖÆ×ÔÈ»ÅÉÉú³öÀ´µÄ.qmail-local ÊÔͼ´«Ë͵ØÖ·Îª localpart@host µÄÓʼþ¸ø±¾µØ½Ð×ö localpart Ãû×ÖµÄÓû§. Èç¹ûûÓÐÆ¥ÅäÕâ¸öÃû×ÖµÄÓû§´æÔÚ, Óʼþ½«»á±»·¢Ë͸ø±ðÃû alias Óû§, ±ðÃûÓû§ÊÇqmailϵͳÀïÃæÍ¨³£Ö÷Ŀ¼λÓÚ /var/qmail/alias µÄαÓû§.
¾ÙÀý, Èç¹ûÄãÏëÒª´´½¨Ò»¸ö½Ð×ö info@example.com µÄ±ðÃû, Õâ¸ö±ðÃûÓû§½«°ÑÉÏÎÄÊÕµ½µÄËùÓÐÎÞÖ÷Óʼþת·¢¸øÓû§ tom, ÔÚÎÒÃǾÙÀýµÄ example.com ÉÏ, ÕâÑù×÷µÄ·½Ê½ÊÇ: ×÷Ϊ root Óû§, ÔËÐÐÏÂÃæµÄÃüÁî:
echo \%26amp;tom > /var/qmail/alias/.qmail-info.qmail С½Ú, ÒÔ¼° À©Õ¹µØÖ· ϸĿ½éÉÜÁËÈçºÎ´´½¨ .qmailÎļþ, ÕâЩÎļþÈ·¶¨ÁËÄÇЩ±ðÃû´æÔÚ, ÒÔ¼°ÈçºÎ´¦ÀíÄÄЩ·¢¸øËûÃǵÄÓʼþµÄ.
¸½Â¼ ÐÂÊÖ³£¼ûÎÊÌâ ½éÉÜÁËÁ½¸ö¹ØÓÚ±ðÃûÓ¦Óõĸ´ÔÓ°¸Àý. ÄÇЩ±ðÃûʹÓÃÁË´óд×ÖĸºÍСÊýµã("."), ÒÔ¼° .qmail ÎļþµÄ man ÊÖ²áÒ³Ãæ, ÆäÖаüº¬ÁËÍêÕûµÄ¹ØÓÚ .qmail ÎļþÓ÷¨µÄÎĵµ.
×¢ÒâÓÉÓÚ±ðÃûÔÚ qmail ÀïÃæµÄʵÏÖ·½Ê½, ±ðÃûÊDz»Äܹ»ÓÅÏÈÓëÒ»¸öÒÑÖªÓû§µÄ´«Ë͵Ä. ÀýÈç, Èç¹û rachel ÊÇÒ»¸öÆÕͨÓû§, ÄÇô~alias/.qmail-rachel ±ðÃûÊÇÎÞЧµÄ.
fastforward Èí¼þ°üÁíÍâÌṩÁËÒ»¸ö¿ÉÐеıðÃû»úÖÆ, Ëü½«¶à¸ö±ðÃû·ÅÈëµ¥¶ÀÒ»¸öºÍSendmail±ðÃûÊý¾Ý¿â¼æÈݵÄÎļþÀïÃæ.
ÏÂÒ»½Ú, qmail-users, ÃèÊöÁËÆäËûʵÏÖ±ðÃûµÄ»úÖÆ.
3.6. ¹ØÓÚ qmail-users
qmail-users ÊÇÒ»¸ö·Ö·¢µØÖ·¸øÓû§µÄϵͳ. ÓÉ /var/qmail/users ϵÄһϵÁÐÎļþ¹¹³É. assign ÎļþÊÇÒ»¸ö·ÖÅä±í. ÓÐÁ½ÖÖ·ÖÅä±íµÄ¸ñʽ: µ¥Ì巽ʽºÍͨÅä·û·½Ê½.
×¢Òâ: assign Îļþ°üº¬ÁËһϵÁзÖÅä±í, ÿÐÐÒ»¸ö, ºóÃæ½ÓÒ»¸ö°üº¬ÁËÒ»¸öµ¥¶ÀµÄСÊýµã(.)µÄÐÐ. Èç¹ûÄãÊÖ¶¯´´½¨assignÎļþ, ²»ÒªÍü¼ÇСÊýµãÄÇÒ»ÐÐ.3.6.1. µ¥Ìå·ÖÅä±í
Ò»¸öµ¥Ìå·ÖÅä±í¿´ÆðÀ´ÊÇÕâ¸öÑù×ÓµÄ:
=address:user:uid:gid:directory:dash:extension:Õâ¸ö±íµÄº¬ÒåÊÇ: ×÷Ϊ address µØÖ·½ÓÊÕµÄÓʼþ½«»á±»Ê¹ÓÃÓû§ user À´´«ËÍ, ʹÓÃÖ¸¶¨µÄ uid ºÍ gid, ²¢ÇÒÓÉ directory/.qmaildashextension Õâ¸öÎļþ¾ö¶¨ÓʼþÈçºÎ±»´«ËÍ.
3.6.2. ͨÅä·û·ÖÅä±í
ͨÅä·û·ÖÅä±í¿´ÆðÀ´ÊÇÕâ¸öÑù×ÓµÄ:
+prefix:user:uid:gid:directory:dash:prepend:Õâ¸ö±íµÄº¬ÒåÊÇ: ×÷Ϊ prefixrest µØÖ·ÀïÃæÆ¥ÅäµÄÓʼþµØÖ·½ÓÊÕµÄÓʼþ, ½«»á±»Ê¹ÓÃÓû§ user À´´«ËÍ, ʹÓÃÖ¸¶¨µÄ uid ºÍ gid, ²¢ÇÒÓÉ directory/.qmaildashextension Õâ¸öÎļþ¾ö¶¨ÓʼþÈçºÎ±»´«ËÍ.
3.6.3. qmail-user ³ÌÐò
qmail-user ÓÐÁ½¸ö¸¨Öú³ÌÐò: qmail-newu ºÍ qmail-pw2u.
qmail-newu ³ÌÐò´¦Àí assign Îļþ²¢ÇÒÔÚ /var/qmail/users ÏÂÉú³ÉÒ»¸öÃûΪ cdb µÄ¾²Ì¬Êý¾Ý¿â(CDB)Îļþ. CDBÊǶþ½øÖƸñʽ, ËùÒÔÔÚÄÚº¬ÊýǧÌõ·ÖÅä±íµÄÇé¿öÏÂ, ÈÔÈ»¿ÉÒÔ±» qmail-lspawn ¿ìËÙ·ÃÎÊ.
qmail-pw2u °ÑϵͳÓû§Êý¾Ý¿â /etc/passwd ת»»ÎªÒ»ÏµÁÐÊÊÓÚassign ʹÓõķÖÅä±í. qmail-pw2u ʹÓÃÒ»×éÎļþÀ´Ð޸ķÒë¹æÔò.
- include: Òª°üÀ¨µÄÓû§
- exclude: ²»Òª°üÀ¨µÄÓû§
- mailnames: Óû§µÄ¿ÉÌæ»»µÄ"ÓʼþÕÊ»§Ãû×Ö"
- subusers: Óû§¿ØÖƵĶîÍâµÄµØÖ·, ʹÓÿÉÑ¡µÄ .qmail À©Õ¹·½Ê½
- append: ÆäËû·ÖÅä±í
×¢Òâ: Èç¹ûÄãʹÓÃqmail-pw2u, ²»ÒªÍü¼ÇÔÚÔö¼ÓºÍɾ³ýÓû§, »òÕ߸ıäUIDºÍGIDÖ®ºó, ÖØÐÂÔËÐÐÒ»ÏÂqmail-pw2uºÍqmail-newu. ±ê×¼µÄÔËÐдÎÐòÈçÏÂËùʾ:qmail-pw2u /var/qmail/users/assign qmail-newu3.7. ·´À¬»øÓʼþ
Chris Hardie дÁËÒ»¸ö¼«ºÃµÄµÄqmail·´À¬»øÓʼþ HOWTO. ¿ÉÒÔÔÚÕâ¸öµØÖ··ÃÎʵ½Ëü: http://www.summersault.com/chris/techno/qmail/qmail-antispam.html.
3.8. ²¡¶¾É¨Ãè
Jason Haar±àдÁË Qmail-Scanner, Ò»¸öΪqmailÉè¼ÆµÄÄÚÈÝɨÃè×°ÖÃ. ¸ü¶àÐÅÏ¢Çë²Î¼û http://qmail-scanner.sourceforge.net/.
Qmail-Scanner °üÀ¨ÁËÒ»¸ö¼òµ¥²ßÂÔ×èÖ¹×é¼þ(ÀýÈç, ×èÖ¹*.scrÎļþ, »ò×èÖ¹"Yellow!"ÕâÑùµÄ±êÌâ), ͬʱҲֱ½ÓÖ§³ÖÐí¶à²»Í¬µÄ·À²¡¶¾"²å¼þ", °üÀ¨ClamAV AntivirusɨÃèÆ÷ http://www.clamav.net/.
4. ʹÓ÷½·¨
ÕâÒ»½Ú½éÉÜÁËqmail Õë¶ÔÆÕͨÓû§µÄʹÓ÷½·¨. Èç¹ûÄãÔÚ qmail ϵͳÉ϶ÁÐźͷ¢ÐÅ, ÄÇôÄãÔĶÁ±¾½Ú¾Í¿ÉÒÔÕÒµ½ÈçºÎÓÃqmail ´ï³ÉÄãµÄÄ¿µÄÁË.
4.1. .qmail Îļþ
´«ËÍÓû§Óʼþͨ³£ÊÇÓÉÒ»¸ö»òÕß¼¸¸ö ".qmail"(·¢Òô dot kyoo mail) Îļþ¿ØÖƵÄ. ÕâЩÎļþλÓÚÓû§µÄÖ÷Ŀ¼, ÎļþÃûÓÉ .qmail ¿ªÍ·. .qmail µÄman ÊÖ²áÒ³ÃæÃèÊöÁË .qmail ÎļþʹÓ÷½·¨.
.qmail Îļþ°üÀ¨ÁËÒ»¸ö´«ËÍÖ¸ÁîÇåµ¥, ÿÐÐÒ»¸öÖ¸Áî. ÿÐеĵÚÒ»¸ö×Ö·û¾ö¶¨ÁËÑ¡ÔñÄÇÖÖ´«ËÍ·½Ê½.
×Ö·û ´«ËÍÀàÐÍ Öµ # ÎÞ (×¢ÊÍ) ºöÂÔ | ³ÌÐò ÓÉshell Ö´ÐеÄÃüÁî / »òÕß . mboxÓÊÏä¸ñʽ (Èç¹û·¾¶×îºóÒ»¸ö×Ö·û²»ÊÇÒ»¸öб¸Ü) mbox µÄ·¾¶Ãû (°üÀ¨Ð±¸Ü"/"»òÕß µã".")
/ »òÕß . maildirÓÊÏä¸ñʽ (Èç¹û·¾¶×îºóÒ»¸ö×Ö·ûÊÇÒ»¸ö·´Ð±¸Ü) maildir µÄ·¾¶Ãû (°üÀ¨Ð±¸Ü"/"»òÕß µã".") %26amp; ת·¢ ת·¢ÓʼþµÄµØÖ· ×Öĸ»òÕßÊý×Ö ×ª·¢ ת·¢ÓʼþµÄµØÖ· (°üÀ¨µÚÒ»¸ö×Ö·û) 4.1.1. ³ÌÐò´«ËÍ
Èç¹û.qmail ÎļþÄÚÖ¸ÁîÓɳÌÐò´«ËÍ, qmail ½«Æô¶¯Ò»¸ö shell (/bin/sh) À´Ö´ÐÐÕâ¸öÃüÁî, È»ºóʹÓñê×¼°ÑÓʼþµÄÒ»¸ö¸±±¾´«Ë͸øÕâ¸öÃüÁî. qmail-command µÄman °ïÖúÎĵµ¶ÔÕâ¸ö¹ý³ÌÓÐÏêϸÃèÊö.
³ÌÐò´«ËÍÊǷdz£Ç¿´óµÄ, ±»ÓÃÀ´ÊµÏֵŦÄÜ·¶Î§·Ç³£¹ãÀ«, ÀýÈçÓʼþ¹ýÂË, ×Ô¶¯»Ø¸´, ÒÔ¼°Í¨¹ýµÚÈý·½´«ËÍ´úÀí±ÈÈçprocmailÀ´´«ËÍÓʼþ.
ÀýÈç:
|preline /usr/ucb/vacation djbÕâ¸öÖ¸Áî²Ù×÷qmail Æô¶¯preline, ½« /usr/ucb/vacation ºÍ djb ×÷Ϊ²ÎÊý´«Ë͸ø preline, ²¢ÇÒʹÓñê×¼ÊäÈ뽫ÓʼþµÄ¸±±¾´«Ë͸øÕâ¸öÃüÁî.
4.1.2. mbox ¸ñʽÓÊÏäµÄÓʼþͶµÝ
mbox ÊDZê×¼µÄUNIXÓÊÏä¸ñʽ, ÔÚÒ»¸ö¶ÀÁ¢ÎļþÄÚ´æ·Å¶à¸öÓʼþ, ÿ¸öÓʼþÓÉÒ»¸ö"From" µÄ¿ªÍ·µÄÐпªÊ¼. ÕâÒ»Ðп´ÆðÀ´ÏñÒ»¸öÓʼþÍ·×Ö¶Î, ²»¹ýÄDz»ÊÇÓʼþÍ·, Äǽö½öÊÇ´«ËÍ´úÀíÌí¼ÓµÄ, ×÷Ϊһ¸ö±ê¼Ç,±ãÓÚÕÒµ½Ã¿¸öÓʼþµÄ¿ªÊ¼²¿·Ö.
ÀýÈç:
./MailboxÕâ¸öÉèÖñíʾÓʼþ½«±»×·¼Óµ½ $HOME/Mailbox ÎļþÉÏ, ÿ¸öÓʼþÓÉ"From"¿ªÍ·µÄÐÐÒýÁì. Ò»¸öÖ»´æ·ÅÁËÒ»¸öÓʼþµÄ, ¼òµ¥µÄmbox µÄÓÊÏä¿´ÆðÀ´ÊÇÏÂÃæÕâ¸öÑù×ÓµÄ:
From user1@example.net Thu May 13 18:34:50 1999 Received: (qmail 1287205 invoked from network); 13 May 1999 18:34:49 -0000 From: user1@example.net To: user2@example.com Subject: hey What's up?µÚÒ»ÐÐÊÇ qmail ´«ËÍÓʼþʱÌí¼ÓµÄ.
4.1.3. maildir ¸ñʽÓÊÏäµÄÓʼþͶµÝ
maildir ÊÇ Dan Bernstein ΪÁ˱íÃ÷ mbox ÓÊÏä¸ñʽµÄȱÏݶø´´ÔìµÄ¸ñʽ. Ò»¸ö maildir ÓÊÏä°üº¬Èý¸ö×ÓĿ¼, new, cur, ºÍ tmp. ÔÚ¸÷¸ö×ÓĿ¼ÏµÄÿ¸öÓʼþ¸ù¾Ý״̬µÄ²»Í¬·Ö±ð´æ´¢ÔÚ¸÷¸ö×ÓĿ¼Ï¶ÀÁ¢µÄÎļþÖÐ. δ¶ÁÓʼþ´æ´¢ÔÚnewÖÐ, cur´æ´¢ÒѶÁÓʼþ, tmp ÊÇΪÄÇЩÕýÔÚ´«Ë͹ý³ÌÖеÄÓʼþʹÓõÄ. maildir µÄmanÊÖ²áÒ³ÏêϸÃèÊöÁËmaildir¸ñʽµÄϸ½Ú.
maildir ¸ñʽµÄÓŵãÖ®Ò»¾ÍÊDZ£Ö¤Óʼþ´«ÊäµÄ°²È«, ¼´Ê¹ÔÚ²»Ëø¶¨Çé¿öÏÂ, ²»Í¬Óʼþ´úÀíͬʱ¸üÐÂÓʼþ, Ò²Äܱ£Ö¤´«ÊäµÄ¿É¿¿. ÕâÒâζ×Åmaildir ÓÊÏä¿ÉÒÔ°²È«µÄ½¨Á¢ÔÚÒÔNFSÐÔÖʹҽӵÄÎļþϵͳÉÏ.
ÀýÈç:
./Maildir/Õâ¸öÉèÖñíʾ½«°ÑÓʼþ´æ´¢ÔÚ $HOME/Maildir ÏÂÃæµÄ maildir ¸ñʽµÄÓÊÏä.
×¢Òâ: qmail-local ¿ÉÒÔ½«Óʼþ´«Ë͵½ maildir ¸ñʽÓÊÏä, µ«ÊDz»ÄÜ´´½¨ÕâÖÖÓÊÏä. ÄãÐèҪʹÓÃqmail ¸½´øµÄmaildirmake ³ÌÐòÀ´´´½¨ maildir ¸ñʽÓÊÏä. ÀýÈç: "maildirmake ~/Maildir". ²»¹ýҪȷ¶¨ÄãʹÓÃmaildirµÄÓµÓÐÕßÔËÐÐmaildirmake, ¶ø²»ÊÇ root Óû§. ÁíÍâµÄ·½Ê½, ÄãµÄ useradd ºÍ adduser ÃüÁî¿ÉÄÜÖ§³Ö"skeleton"¹Ç¼ÜĿ¼, ÀýÈç: /etc/skel, È»ºó¿ÉÒÔÖ±½Ó¸´ÖÆÕâ¸öĿ¼¸øËùÓÐÐÂÓû§.4.1.4. ת·¢Óʼþ
ת·¢Óʼþ¾ÍÊǽ«ÓʼþÖØ·¢µ½Ö¸¶¨µØÖ·. ÕâЩдÈë.qmailÎļþÄڵĵØÖ·²»Äܰüº¬×¢ÊͲ¿·ÖºÍ¶àÓàµÄ¿Õ¸ñ.
ÏÂÃæµÄд·¨ÊÇ´íµÄ:
%26amp;%26amp; user@example.com %26amp;Joe User ÏÂÃæµÄÊÇÕýÈ·µÄд·¨:
%26amp;user@example.com user@example.com %26amp;userǰÁ½¸ö½«Óʼþ¸±±¾×ª·¢¸ø user@example.com, ×îºóÒ»¸ö½«Óʼþ¸±±¾×ª·¢¸ø±¾µØÓû§ user.
4.1.5. À©Õ¹µØÖ·
qmail Ö§³ÖÓû§¿ØÖÆÀ©Õ¹µØÖ·. ÔÚ»ù±¾µØÖ· username@hostname.domain ÉÏÀ©Õ¹µÄÀ©Õ¹µØÖ·Îª: username-extension@hostname.domain ,Óû§Í¬Ñù¿ÉÒÔ½ÓÊÕ·¢ÍùÀ©Õ¹µØÖ·µÄÓʼþ. ÔÚ±¾½ÚÆäÓಿ·Ö, ÎÒÃÇÌÖÂ۵ķ¶Î§¶¼ÊÇÔÚ±¾µØÏµÍ³ÉÏ, ËùÒÔÎÒÃǽ«²»ÔÙʹÓÃ"@hostname.domain" ²¿·Ö.
¸øÓû§ username µÄÓʼþ´«ËÍÖ¸ÁîÓÉ ~username/.qmail ÎļþÖ¸¶¨. ¶ÔÓÚÐÍÈçusername-extension µÄÀ©Õ¹µØÖ·µÄ´«ËÍÖ¸ÁîÓÉÓû§Ä¿Â¼ÏµÄ~username/.qmail-extension ÎļþÖ¸¶¨.
¾ÙÒ»¸öÀý×Ó, dave-lwq@sparge.example.com Õâ¸öÀ©Õ¹µØÖ·µÄ´«Ëͽ«ÓÉÎļþ ~dave/.qmail-lwq À´¿ØÖÆ.
À©Õ¹µØÖ·¿ÉÒÔÓµÓжà¸ö×Ö¶Î, ÀýÈç dave-list-qmail Õâ¸öÀ©Õ¹µØÖ·, ÓÉ ~dave/.qmail-list-qmail À´¿ØÖÆ. ÔÚÕâ¸öÀý×ÓÀïÃæ, dave-list-qmai Õâ¸öµØÖ·±»ÓÃÀ´¶©ÔÄ qmail µÄÓʼþÁбí, ~dave/.qmail-list-qmail Ôò¸ºÔð¹éµµÕâ¸öÁбíµÄÓʼþµ½µ¥¶ÀµÄÓÊÏäÀïÃæ.
.qmail Îļþ¿ÉÒÔÓÃ-default ºó׺½øÐÐÆ¥Åä¡£ ËùÒÔ dave-list-qmail ¿ÉÒÔÓÉ ~dave/.qmail-list-default ²Ù×÷. Õâ¸öÎļþ¿ÉÒÔÒ»¶Ô¶à·½Ê½ÓÃÒ»¸ö.qmailÎļþ¿ØÖÆËùÓÐÐÍÈç dave-list-¼ÓÉÏÈκκó׺µÄµØÖ·. ×¢Òâ dave-list ²»ÄÜÓÉ ~dave/.qmail-list-default ¿ØÖÆ, ÒòΪÔÚ"list"ºóÃæÃ»ÓÐ"-".
qmail »áʹÓÃ×î½Ó½üµÄÆ¥Å䷽ʽ. ÀýÈç, qmailÔÚ´«ËÍÒ»¸ö±êÖ¾×ÅË͸ødave-list-qmailÕâ¸öµØÖ·µÄÓʼþʱ, »á°´ÕÕÏÂÃæË³Ðò²éÕÒ.qmail¿ØÖÆÎļþ, ²¢°´ÕÕ×îÏÈÆ¥ÅäµÄ.qmailÎļþ´«ËÍÕâ¸öÓʼþ.
.qmail-list-qmail .qmail-list-default .qmail-defaultÈç¹ûûÓÐÕÒµ½ÏàÆ¥ÅäµÄ.qmailÎļþ, ´«ËÍʧ°Ü, ²¢ÇÒ½«Óʼþ·´µ¯¸ø·¢ËÍÕß.
4.2. ·¢ËÍÓʼþ
ÓʼþÓû§Í¨³£²¢²»Ö±½Ó·¢ËÍÓʼþ. µäÐ͵ķ½Ê½ÊÇÀûÓÃÓʼþÓû§´úÀí(Mail User Agent, MUA)³ÌÐò, ÀýÈç pine »òÕß mutt ±àд²¢·¢ËÍÓʼþ. MUA³ÌÐòµ÷ÓÃMTA´«ËÍÓʼþ. Õâ¸ö´¦ÀíÓʼþµ½MTAµÄµ÷Óùý³Ì³ÆÎª×¢Èë(injection).
ÓÐÁ½ÖÖ·½Ê½Íê³É×¢Èë, Ò»ÖÖÀûÓÃSMTPÐÒé(Simple Mail Transfer Protocol, SMTP), »òÕßÀûÓÃMTAÌṩµÄµÄÌØ¶¨³ÌÐò.
4.2.1. SMTP ·½Ê½
MUA³ÌÐò¿ÉÒÔʹÓÃTCPÐÒéÁ¬½Óµ½±ê×¼µÄSMTPÐÒé¶Ë¿Ú25, ¿ÉÒÔÊDZ¾µØÖ÷»ú»òÕßÖ¸¶¨µÄÓʼþ·þÎñÆ÷. MUAºÍMTAºóÐø½øÐеĻػ°µ¼ÖÂÁ½¸ö½á¹û:
- Óʼþ±»´«Ë͸øMTA, »òÕß
- ·µ»ØÒ»·Ý´íÎó±¨¸æ¸øMUA
SMTPûÓÐÉí·ÝÈÏÖ¤µÄ»úÖÆ, ËùÒÔ·¢ËÍÓʼþµÄ¹ý³ÌÊDz»ÒªÇóÓû§ÃûºÍÃÜÂëµÄ. µ«ÊÇ, ´ó¶àÊýMTA¾Ü¾ø½ÓÊռȲ»ÊÇÀ´×Ô±¾µØÓû§Ò²²»ÊÇ·¢Ë͸ø±¾µØÓû§µÄÓʼþµÄ. Èç¹ûÒ»¸öÇ¡µ±µÄ¸ñʽµÄÓʼþ±»MTA¾Ü¾ø, ×î´óµÄ¿ÉÄܾÍÊÇתÐÅÏÞÖÆÔì³É. ²Î¼ûתÐÅС½Ú²é¿´¸ü¶àµÄÈçºÎÅäÖÃתÐŵÄÐÅÏ¢.
4.2.2. /var/qmail/bin/sendmail Îļþ
ºÜ¶àÄêÒÔÀ´, UNIX MTAÒ»Ö±¶¼ÊÇSendmail. ÓÉÓÚSendmailµÄÓ¦ÓÃÊ®·ÖÆÕ±é, Ðí¶à³ÌÐòÔ±¼Ù¶¨ËüÊÇĬÈϵÄMTA. ½á¹û, SendmailµÄ±¾µØ×¢Èë»úÖÆ³ÉΪ±ê×¼µÄ±¾µØÓʼþ×¢ÈëµÄÓ¦Óñà³Ì½Ó¿Ú(Application Programmer's Interface, API). qmail ÒÔ¼°ÆäËû·ÇSendmailµÄMTAÒò´ËÒ²Ìṩһ¸ösendmail³ÌÐòÓ¦ÓÃÓÚ±¾µØ×¢È뷽ʽÉÏ, ËüµÄ¹¤×÷·½Ê½ºÍÕæÕýµÄSendmail µÄ sendmail³ÌÐòÒ»Ñù.
qmail µÄÓÃÓÚÌæ»»SendmailÏàÓ¦²¿·ÖµÄ sendmail ³ÌÐò, ͨ³£Î»ÓÚ /var/qmail/bin/sendmail, µäÐ͵ÄSendmailµÄ³ÌÐòλÓÚÏÂÃæÕâЩλÖÃ:
- /usr/lib/sendmail
- /usr/sbin/sendmail
ÔÚqmailϵͳÀïÃæ, ʹÓÃÃüÁî"ls -l path-to-sendmail"½«»áÏÔʾ³ö, sendmailʵ¼ÊÉÏÊÇÒ»¸öÖ¸Ïò/var/qmail/bin/sendmail µÄ·ûºÅÁ¬½Ó.
$ ls -l /usr/lib/sendmail lrwxrwxrwx 1 root root 29 Feb 19 11:04 /usr/lib/sendmail -> /var/qmail/bin/sendmail4.2.3. qmail-inject
³ýÁËÄ£·Â sendmail µÄ APIÖ®Íâ, qmail Ò²ÓµÓÐ×Ô¼ºµÄ×¢Èë³ÌÐò: qmail-inject. ʵ¼ÊÉÏ, qmailÌṩµÄsendmail ³ÌÐòÖ»ÊÇÒ»¸öqmail-injectµÄÍâ¿Ç³ÌÐò.
×÷Ϊһ¸öAPI±ê×¼, sendmail¿ÉÄܸüºÃÓÃ, ÒòΪËüʹÓù㷺. qmailµÄAPIÓÉqmail-injectÌṩ, Ö»ÄÜÔÚqmailϵͳÏÂÔËÐÐ, ¶øsendmail½Ó¿Ú¼¸ºõÊÇÈ«ÇòͨÓõÄ.
¾ÙÒ»¸öÀý×Ó, ¿ÉÒÔÕâÑù·¢ËÍÒ»¸ö¿Õ°×Óʼþ¸ø joe@example.com:
echo To: joe@example.com | /var/qmail/bin/qmail-inject4.3. »·¾³±äÁ¿
һЩqmail³ÌÐòÉ趨ºÍʹÓû·¾³±äÁ¿, ÏÂÃæµÄ±í¸ñÁгöÁËÕâЩ±äÁ¿²¢ÇÒÃèÊöÁËËûÃǵÄÓ÷¨.
Ãû×Ö Man °ïÖúÒ³ ÉèÖÃ/ʹÓà ʹÓÃÄ¿µÄ DATABYTES qmail-smtpd ʹÓÃ ÖØÔØcontrol/databytesÎļþ DEFAULT qmail-command ÉèÖà ÔÚ.qmailÎļþÃûÖÐÆ¥Åä"-default"µÄµØÖ·²¿·Ö DTLINE qmail-command ÉèÖà ÓʼþÍ·Delivered-To²¿·Ö EXT qmail-command ÉèÖà µØÖ·À©Õ¹ EXT2 qmail-command ÉèÖà µÚÒ»¸öÆÆÕۺźóÃæµÄEXTµÄÒ»²¿·Ö EXT3 qmail-command ÉèÖà µÚ¶þ¸öÆÆÕۺźóÃæµÄEXTµÄÒ»²¿·Ö EXT4 qmail-command ÉèÖà µÚÈý¸öÆÆÕۺźóÃæµÄEXTµÄÒ»²¿·Ö HOME qmail-command ÉèÖà Óû§µÄÖ÷Ŀ¼ HOST qmail-command ÉèÖà ½ÓÊÕµØÖ·µÄÓòÃû²¿·Ö HOST2 qmail-command ÉèÖà ÔÚ×îºóµÄµãÇ°ÃæµÄHOST²¿·Ö HOST3 qmail-command ÉèÖà ÔÚµ¹ÊýµÚ¶þ¸öµÄµãÇ°ÃæµÄHOSTµÄÒ»²¿·Ö HOST4 qmail-command ÉèÖà ÔÚµ¹ÊýµÚÈý¸öµÄµãÇ°ÃæµÄHOSTµÄÒ»²¿·Ö LOCAL qmail-command ÉèÖà ½ÓÊÕµØÖ·µÄlocal²¿·Ö LOGNAME qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеÄÓû§Ãû(4) MAILHOST qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеÄÖ÷»úÃû(2) MAILNAME qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеĸöÈËÐÕÃû(2) MAILUSER qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеÄÓû§Ãû(2) NAME qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеĸöÈËÐÕÃû(3) NEWSENDER qmail-command ÉèÖà ת·¢µÄ·¢ËÍÈ˵ØÖ·(²Î¿¼°ïÖúÎĵµ"man dot-qmail") QMAILDEFAULTDOMAIN qmail-inject ʹÓÃ ÖØÔØontrol/defaultdomain Îļþ QMAILDEFAULTHOST qmail-inject ʹÓÃ ÖØÔØcontrol/defaulthost Îļþ QMAILHOST qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеÄÖ÷»úÃû(1) QMAILIDHOST qmail-inject ʹÓÃ ÖØÔØcontrol/idhost Îļþ QMAILINJECT qmail-inject ʹÓà ָ¶¨¼¸¸öÑ¡Ïî(²Î¼ûÏÂÃæµÄ±í¸ñ) QMAILMFTFILE qmail-inject ʹÓà °üº¬ÏÂÒ»¼¶¸ú×ÙµÄÓʼþµØÖ·ÁбíµÄÎļþ QMAILNAME qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеĸöÈËÐÕÃû(1) QMAILPLUSDOMAIN qmail-inject ʹÓÃ ÖØÔØ control/plusdomain Îļþ QMAILSHOST qmail-inject ʹÓà ÐÅ·âÉÏ·¢ËÍÕßµØÖ·ÖеÄÖ÷»úÃû QMAILSUSER qmail-inject ʹÓà ÐÅ·âÉÏ·¢ËÍÕßµØÖ·ÖеÄÓû§Ãû QMAILUSER qmail-inject ʹÓà ÔÚÓʼþÍ·FromÖеÄÓû§Ãû(1) RECIPIENT qmail-command ÉèÖà ÐÅ·âÉϽÓÊÕÕߵĵØÖ· RELAYCLIENT qmail-smtpd ʹÓà ºöÂÔ control/rcpthosts ÎļþÈ»ºóÔÚ½ÓÊÕµØÖ·ºóÌí¼ÓÖµ RPLINE qmail-command ÉèÖà ÓʼþÍ··µ»ØÂ·¾¶ SENDER qmail-command ÉèÖà ÐÅ·âÉÏ·¢ËÍÕßµØÖ· UFLINE qmail-command ÉèÖà UUCP·ç¸ñµÄ"From"ÐÐ USER qmail-command ÉèÖà µ±Ç°µÄÓû§ USER qmail-inject ʹÓà ÓʼþÍ·FromÖеÄÓû§Ãû (3)
QMAILINJECT ±ê־λ QMAILINJECT Flags ×Öĸ ʹÓÃÄ¿µÄ c ΪFrom²¿·ÖʹÓõØÖ·×¢ÊÍ·ç¸ñ s ²»¿¼ÂÇÈκδ«ÈëÓʼþµÄ·µ»ØÂ·¾¶²¿·Ö f ɾ³ýËùÓд«ÈëÓʼþµÄFrom²¿·Ö i ɾ³ýËùÓд«ÈëÓʼþµÄMessage-ID²¿·Ö r ʹÓÃÿ½ÓÊÕÕßVERP m ʹÓÃÿÓʼþVERP 5. ¸ß¼¶»°Ìâ
5.1. ¹ØÓÚ procmail
procmail ÊÇÒ»¸öÁ÷ÐеÄÓʼþ´«ËÍ´úÀí( Message Delivery Agent , MDA). MDAµÄ¹¦ÄÜÊÇ´ÓMTAÎªÌØ¶¨Óû§»òÕßÓÊÏä½ÓÊÕÓʼþ, È»ºó°´ÕÕÓû§µÄÒªÇó´«ËÍÓʼþµÄ³ÌÐò. procmail ¿ÉÒÔÓÃÀ´Õë¶ÔÓʼþÖ÷Ìå»òÕß²»Í¬µÄÓʼþÍ·ÄÚÈݹýÂËÓʼþ. ¾ÙÒ»¸öÀý×Ó, ´Óij¸öÌØ¶¨µÄÈË·¢À´µÄÓʼþ¿ÉÒÔ±»¶¨Ïò´«Ë͵½Ä³¸öרÃÅΪÕâ¸öÈË×¼±¸µÄÓÊÏä.
ÔÚqmailÉÏÓ¦ÓÃprocmailÓÐÁ½¸ö¼¼ÇÉ. µÚÒ»¸ö, procmail ͨ³£±»ÅäÖóɴ«ËÍÓʼþµ½/var/spool/mail ϵÄmbox ¸ñʽµÄÓÊÏä. Äã¿ÉÒÔÖØÐÂÉèÖð²×°procmailµ½È±Ê¡µÄ$HOME ·¾¶ÏÂ, »òÕßÖ¸µ¼Óû§²»ÒªÒÀÀµprocmail ½«ÓʼþͶµÝµ½Ä¬ÈϵÄmboxλÖÃ. ³ý·ÇÄãΪ$HOME ÓʼþͶµÝ·½Ê½´ò²¹¶¡, ·ñÔò, procmailÒÀÈ»»áʹÓÃ/var/spool/mail ×÷ΪÁÙʱÎļþ.
ÁíÍâÒ»¸öÎÊÌâÊÇqmail-commandºÍprocmailʹÓõÄÍ˳öÂëÊDz»Í¬µÄ. procmailʹÓõÄÊDZê×¼UNIXÍ˳öÂë: Áã´ú±í³É¹¦, ·ÇÁã´ú±íʧ°Ü, ʧ°ÜµÄÔÒòÓÉ/usr/include/sys/errno.h ¶¨Òå. qmail-command ʹÓÃij¸ö·ÇÁãÂëָʾÓÀ¾Ã´íÎó, ÆäÓà×÷ΪÁÙʱÂë. ½â¾ö·½Ê½¿ÉÒÔÓ¦ÓÃÒ»¸öСµÄshell½Å±¾Îª qmail-command ·ÒëÍ˳öÂë. ÕâÑùµÄÒ»¸öshell½Å±¾Ôø¾ÔÚqmail ÓʼþÁÐ±í¿¯µÇ, ÏÖÔÚ±»´æµµÔÚÕâ¸öλÖÃhttp://www.ornl.gov/lists/mailing-lists/qmail/1998/04/msg00487.html.
ͬÑùµÄÇé¿ö, ¾É°æ±¾µÄprocmail(3.14֮ǰ)²»ÄÜÖ±½Ó´«ËÍÓʼþ¸ømaildir¸ñʽµÄÓÊÏä. ×îºÃµÄ°ì·¨ÊÇÉý¼¶ÄãµÄprocmailµ½×îа汾. ÁíÍâÒ»¸ö½â¾ö°ì·¨ÊÇʹÓÃsafecat, Õâ¸ö³ÌÐò½«±ê×¼ÊäÈëµÄÓʼþдÈëÖ¸¶¨µÄmaildir¸ñʽµÄÓÊÏä. Óû§¿ÉÒÔʹÓà procmail ´¦·½(´«ËÍÖ¸Áî)À´Ê¹ÓÃsafecat ±£´æÓʼþ. Ò²¿ÉÒÔÍêÈ«Ìø¹ýprocmail, ʹÓÃmaildrop.
×îºó, procmail ÈÏΪÓʼþ½«±»½ÓÊÕµ½mbox¸ñʽµÄÓÊÏä, ³£¹æµÄqmail´«ËͳÌÐò½ö½ö°üÀ¨Êµ¼ÊµÄÓʼþ, ¶ø²»°üÀ¨"From"ÆðʼÐÐ. ÕâÀï¿ÉÒÔʹÓÃpreline ÃüÁîÀ´¸ñʽ»¯Óʼþ, ÒÔ±£Ö¤procmailµÄÒªÇó. ÉÏÃæÁ´½ÓÌáµ½µÄ½Å±¾¾Í°üÀ¨ÁË preline.
¾ÙÒ»¸öÀý×Ó, ¼ÙÉèÓû§"dave"Ï£ÍûÓÃprocmailÀ´´¦ÀíËûµÄÓʼþ. ËûµÄϵͳ¹ÜÀíÔ±ÉèÖÃprocmailÀ´´«ËÍÓʼþµ½Ä¬ÈϵÄ$HOME, ²¢ÇÒÒѾÅäÖúÃÁËÉÏÃæµÄÍ˳öÂë·Òë½Å±¾³ÌÐò, ¼ÙÉèÃû×ÖÊÇ /usr/local/bin/qmail-procmail, ÄÇôËûµÄ.qmailÎļþÓ¦¸ÃÊÇÕâ¸öÑù×ÓµÄ:
|/usr/local/bin/qmail-procmail5.2. POP ºÍ IMAP ·þÎñÆ÷
qmail°üÀ¨Ò»¸öPOP·þÎñÆ÷, qmail-pop3d, ²»¹ý²¢Ã»ÓÐ×÷Ϊqmail °²×°¹ý³ÌµÄÒ»²¿·Ö. Äã¿ÉÒÔÑ¡ÓÃÆäËûPOP»òÕßIMAP·þÎñÆ÷, ¾¡¹ÜËûÃÇ´ó¶àÊý¶¼ÊÇΪSendmail±àдµÄ, ÔÚqmailÏÂÔËÐÐÕâЩ·þÎñÆ÷ʱ, ÐèÒª×÷һЩ¶îÍâµÄÐ޸Ť×÷.
5.2.1. qmail-pop3d
qmail-pop3d ÊÇqmail×Ô´øµÄºÜ²»´íµÄPOP·þÎñÆ÷. ºÜ¶àqmailÕ¾µã¶¼Ê¹ÓÃËü×÷ΪPOP·þÎñÆ÷. ËüÊÇÄ£¿é»¯µÄ, ¿ÉÒÔͨ¹ý²»Í¬µÄÈÏ֤ģ¿éÖ§³Ö¶àÖÖÈÏÖ¤·½°¸.
×¢Òâ: qmail-pop3dÖ»Ö§³Ömaildir¸ñʽµÄÓÊÏä, ËùÒÔÈç¹ûÄãµÄÓû§µÇ¼µ½POP·þÎñÆ÷²¢ÇÒÔÚ±¾µØÔËÐÐMUA³ÌÐò, ÕâЩ³ÌÐò±ØÐëÖ§³Ömaildir¸ñʽµÄÓÊÏä. Èç¹ûËùÓÐÓû§¶¼ÊÇͨ¹ýPOPÀ´¶ÁÈ¡Óʼþ, ÄÇô·þÎñÆ÷¶ËµÄÓÊÏä¸ñʽ¾Í²»ÊÇʲôÎÊÌâÁË.5.2.1.1. qmail-pop3dµÄ½á¹¹
qmail-pop3d·þÎñÆ÷°üÀ¨Èý¸öÄ£¿é:
- qmail-popup: È¡µÃÓû§Ãû/ÃÜÂë
- checkpassword: ¼ø±ðÓû§Ãû/ÃÜÂë
- qmail-pop3d: POPºǫ́·þÎñ³ÌÐò
µäÐ͵Ä, qmail-popupÓÉinetd »òÕß tcpserverÔËÐÐ, ÔÚ110¶Ë¿Ú¼àÌý, Ò»µ©ÓÐÁ¬½Ó, Ëü½«ÌáʾÊäÈëÓû§ÃûºÍÃÜÂë, È»ºóËüµ÷ÓÃcheckpasswordÀ´Ð£ÑéÓû§Ãû/ÃÜÂë, ͨ¹ýУÑéºóµ÷ÓÃqmail-pop3d.
5.2.1.2. °²×° qmail-pop3d
1. ÍêÕû°²×°²¢²âÊÔqmail. Èç¹ûÄãÏ£ÍûËùÓÐÓû§¶¼¿ÉÒÔÓà POP ·½Ê½·ÃÎÊÓÊÏä, ÄÇôÊ×ÏÈÈ·¶¨ defaultdelivery ÎļþÄÚÈÝÒѾÉèÖÃΪ ./Maildir/. Èç¹ûÄãÊǰ´ÕÕ±¾Îĵİ²×°Ð¡½Ú°²×°µÄqmail, /var/qmail/rc½Å±¾ÒѾ±»°²×°µ½Ç¡µ±Î»ÖÃ, ÄÇôÔÚÎļþ control/defaultdelivery ÖÐÒѾÅäÖÃÁËÕâ¸ö²ÎÊý. Èç¹û²»ÊÇÕâÑù°²×°µÄ, ÔòÕâ¸ö²ÎÊý¿ÉÄÜÊÇÔÚ/var/qmail/rc µÄ qmail-start ÃüÁîÐÐÉÏʵÏÖµÄ.
2. ´Óhttp://www.qmail.org/top.html#checkpasswordÏÂÔØcheckpassword ³ÌÐò. Èç¹ûÄã²»ÐèÒªÆäËûÌØ±ðµÄ¶«Î÷, Ò²¿ÉÒÔÔÚhttp://cr.yp.to/checkpwd.html ÏÂÔØ±ê×¼µÄcheckpassword³ÌÐò.
3. °´ÕÕ°²×°Ö¸µ¼±àÒë²¢°²×°checkpassword³ÌÐò. È·¶¨Äã°²×°³ÌÐòµ½ /bin/checkpassword ÏÂ.
×¢Òâ: Èç¹ûÄã°²×°µÄÊDZê×¼checkpassword, ½â¿ªÔ´´úÂëÖ®ºó±ðÍü¼Ç´òÐÞ²¹´íÎó·µ»ØÂëµÄ²¹¶¡:patch < /usr/local/src/netqmail-1.05/other-patches/checkpassword-0.90.errno.patch4. mkdir /var/qmail/supervise/qmail-pop3d
5. ´´½¨Ò»¸ö/var/qmail/supervise/qmail-pop3d/run ½Å±¾, °üÀ¨ÈçÏÂÄÚÈÝ:
#!/bin/shexec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \ FQDN /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>%26amp;1ÕâÀï FQDN ÊÇÄ㽨Á¢µÄPOP·þÎñÆ÷µÄÍêÕûµÄÓÐ×ʸñµÄÕýʽÓòÃû, ÀýÈç, pop.example.net.
×¢Òâ: ÓÉsoftlimitÃüÁî Ö¸¶¨µÄÄÚ´æÊ¹ÓÃÏÞ¶ÈÊÇ¿ÉÒÔÒÀÀµÓÚÄãÊÇÓõĵÄÓ²¼þƽ̨ºÍ²Ù×÷ϵͳ×÷Êʵ±Ìá¸ßµÄ. µ±Á¬½Óµ½110¶Ë¿Úʧ°Ü»òÕßPOP3Á¬½ÓÒÔÄÑÒÔÀí½âµÄ·½Ê½Ê§°ÜÇé¿öÏÂ, »òÕßÄã²é¿´µ½ÈçÏ´íÎóÐÅÏ¢:
/usr/local/bin/tcpserver: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memoryÊÔ׎«Õâ¸ö²ÎÊýÌá¸ßµ½3000000»òÕß5000000.
6. mkdir /var/qmail/supervise/qmail-pop3d/log
7. ´´½¨°üÀ¨ÒÔÏÂÄÚÈݵÄ/var/qmail/supervise/qmail-pop3d/log/run Îļþ.
#!/bin/shexec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \ /var/log/qmail/pop3d8. ½¨Á¢logÈÕÖ¾Îļþ¼Ð²¢ÇÒÉèÖÃÏàÓ¦µÄrun½Å±¾, ½«½Å±¾Á´½Óµ½ /service Ŀ¼:
chmod +t /var/qmail/supervise/qmail-pop3d # if daemontools < 0.75 mkdir /var/log/qmail/pop3d chown qmaill /var/log/qmail/pop3d chmod 755 /var/qmail/supervise/qmail-pop3d/run chmod 755 /var/qmail/supervise/qmail-pop3d/log/run ln -s /var/qmail/supervise/qmail-pop3d /service9. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"start"²¿·Ö
if svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d /service/qmail-pop3d/log else echo qmail-pop3d supervise not running fi10. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"stop"²¿·Ö
echo " qmail-pop3d" svc -d /service/qmail-pop3d /service/qmail-pop3d/log11. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"stat"²¿·Ö
svstat /service/qmail-pop3d svstat /service/qmail-pop3d/log12. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"pause"²¿·Ö
echo "Pausing qmail-pop3d" svc -p /service/qmail-pop3d13. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"cont"²¿·Ö
echo "Continuing qmail-pop3d" svc -c /service/qmail-pop3d14. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"restart"²¿·Ö
echo "* Restarting qmail-pop3d." svc -t /service/qmail-pop3d /service/qmail-pop3d/log5.2.2. Qpopper
Èç¹ûÄãÐèÒªÒ»¸öÔÚmbox¸ñʽÓÊÏäϹ¤×÷µÄµÄPOPºǫ́·þÎñ³ÌÐò, Äã¿ÉÒÔÑ¡Óà QualcommµÄ Qpoper. ¿ÉÒÔÔÚÕâÀïÕÒµ½ http://www.eudora.com/products/unsupported/qpopper/.
5.2.3. Binc IMAP
Andreas Hanssen ±àдÁË Binc IMAP·þÎñÆ÷, Binc IMAP±»Éè¼ÆÎªºÍqmail-pop3dʹÓÃÏàͬµÄÈÏÖ¤»úÖÆ(checkpassword), ËùÒÔËüºÜÊʺÏÓÚqmail Óʼþ·þÎñÆ÷. ºÍqmail-pop3dÒ»Ñù, ËüÖ»Ö§³Ömaildir¸ñʽµÄÓÊÏä. ²Î¼ûhttp://www.bincimap.org/.
5.2.4. Dovecot
Timo Sirainen ±àдÁËDovecot, ÕâÊÇÒ»¸ömbox ºÍ maildir ¸ñʽÓÊÏä¶¼ÓèÒÔÖ§³ÖµÄ IMAP ºÍ POP ·þÎñÆ÷. ÒÔ°²È«ÎªÉè¼ÆÄ¿±ê. ¿ÉÒÔÔÚÕâÀï·ÃÎʵ½Ëü http://dovecot.procontrol.fi/.
5.2.5. imap-maildir
David R. Harris ÕûÀíÁËÓÐ¹Ø University of Washington IMAP ·þÎñÆ÷µÄ¹ØÓÚ maildir ¸ñʽ֧³ÖµÄ²¹¶¡, ²¢ÇÒ´æµµÁ˰²×°¹ý³Ì. ²Î¼ûhttp://www.davideous.com/imap-maildir/ .
5.2.6. Courier-IMAP
Sam Varshavchik ±àдÁËÒ»¸öÖ»Ö§³ÖmaildirÓÊÏäµÄIMAP ·þÎñÆ÷. ¿ÉÒÔÔÚÕâÀï http://www.courier-mta.org/imap/ ·ÃÎÊ.
5.2.7. Cyrus
Carnegi Mellon ´óѧµÄCyrus ÏîÄ¿°üº¬ÁËÒ»¸öIMAP ·þÎñÆ÷, ¿ÉÒÔÔÚÕâÀïÕÒµ½Ëü http://asg.web.cmu.edu/cyrus/imapd/. Rick Updegrove дÁËÒ»¸öqmailµ½cyrusµÄ½Å±¾ÓÃÀ´½«Óʼþ´«Ë͸øCyrus ´æ´¢, Õâ¸öhttp://msgs.securepoint.com/cgi-bin/get/qmail0308/41/1/1.html.
5.3. POP ºÍ IMAP ¿Í»§¶Ë
5.3.1. fetchmail
fetchmail ÊÇÒ»¸ö´ÓPOP»òÕßIMAP·þÎñÆ÷½ÓÊÕÓʼþ²¢ÇÒÔٴα¾µØ×¢ÈëµÄ³ÌÐò. fetchmail´Óqmail·þÎñÆ÷½ÓÊÕÓʼþÊÇûÓÐÎÊÌâµÄ, ²»¹ý×÷ΪqmailµÄ¿Í»§¶Ë, ÒªÈÃËüÁ¼ºÃµÄ¹¤×÷, ÓÐÁ½¸ö¼¼ÇÉ.
ÕâÀïÊÇÒ»¸öÔÚqmailϵͳÉÏΪij¸öÓû§ÅäÖõÄ.fetchmailrcÀý×Ó:
poll mail.example.net proto pop3 nodns user dsill with password flubgart is dave here fetchall forcecrÕâ¸öÎļþָʾfetchmail ͨ¹ýPOP3ÐÒéÁ¬½Ómail.example.net·þÎñÆ÷, ʹÓÃÕË»§dsill , ÃÜÂëflubgart, µÇ¼²¢½ÓÊÕËùÓÐÓʼþ, È»ºó´«ËÍÕâЩÓʼþµ½ dave@localhost. forcecr ±ê־ʹfetchmail½«Ã¿¸öÓʼþͨ¹ýSMTP·½Ê½×¢Èë±¾µØÏµÍ³Ç°¶ÔÓʼþµÄÿÐÐÒԻسµ·û½áÊø. qmailÒªÇóÈç´Ë.
5.3.2. getmail
getmail ´ÓPOP·þÎñÆ÷½ÓÊÕÓʼþÈ»ºó´«Ë͵½maildir¸ñʽµÄÓÊÏä. ʵ¼ÊÉÏËüÊǸöPython ½Å±¾, ËùÒÔÄãÔÚʹÓÃgetmail֮ǰÐèÒª°²×°Python½âÊÍÆ÷.
getmail ÓÉ Charles Cazabon ±àд, ËûÔÚÕâ¸öλÖà http://pyropus.ca/software/getmail/ Ϊgetmailά»¤ÁËÒ»¸öÍøÒ³.
5.4. Multi-RCPT Óë Single RCPT ´«ËÍ·½Ê½µÄ±È½Ï
¼ÙÈçÄãÊÇÒ»¸öMTA, ÄãµÄÒ»¸öÓû§·¢ËÍÒ»·âÓʼþ¸ø hostx.example.comÉϵÄÈý¸öÈË. ÄÇôÄãÓÐÒÔϼ¸ÖÖ·½Ê½¿ÉÒÔ´ï³ÉÄ¿±ê.
- Äã¿ÉÒÔ½¨Á¢Ò»¸öÁ¬½Óµ½hostxÖ÷»ú, ·¢ËÍÓʼþµÄÒ»¸ö¿½±´¸øµÚÒ»¸öÓû§, ·¢ËÍÒ»¸ö¿½±´¸øµÚ¶þ¸öÓû§, ·¢ËÍÒ»¸ö¿½±´¸øµÚÈý¸öÓû§, È»ºó¹Ø±ÕÁ¬½Ó.
- Äã¿ÉÒÔ¿ªÊ¼Èý¸ö½ø³Ì, ÿһ¸ö¶¼½¨Á¢Ò»¸öºÍhostxµÄSMTPÁ¬½Ó, ¸øÃ¿¸öÓû§·¢ËÍÒ»·ÝÓʼþµÄ¸±±¾, È»ºó¹Ø±ÕÁ¬½Ó.
- Äã¿ÉÒÔ½¨Á¢Ò»¸öSMTPÁ¬½Ó, È»ºó·¢ËÍÒ»¸ö±êÖ¾×Å´«Ë͸øËùÓÐÈý¸öÓû§µÄ¸±±¾, È»ºó¹Ø±ÕÁ¬½Ó.
µÚÒ»¸ö·½·¨Ã÷ÏÔÁÓÓÚµÚÈý¸ö. ÉõÖÁÓʼþºÜСµÄÇé¿öÏÂ, Õû¸öÓʼþ´«ËÍÒ²ÐèÒª×µÄʱ¼ä. Èç¹ûÓʼþºÜ´ó, ÄÇô½«»áʹÓúܳ¤Ê±¼ä²¢ÇÒÀË·Ñ´óÁ¿ÍøÂç´ø¿í.
ËùÒÔ, »®µôµÚÒ»¸ö.
µÚ¶þ¸öºÍµÚÈý¸ö·½·¨ÓеãÒâ˼.
µÚÈý¸ö·½·¨½ö½ö½¨Á¢Ò»¸öÁ¬½Óµ½hostx, ¶øÇÒÖ»·¢ËÍÒ»¸öÓʼþµÄ¸±±¾, Õâ¸ö·½Ê½È¡µÃÁË×îÓÐЧµÄ´ø¿íÀûÓÃÂÊ.
µÚ¶þÖÖ·½Ê½½¨Á¢¶à¸öÁ¬½Ó, ²¢ÇÒ´«ËÍÁËÓʼþµÄ¶à¸ö¸±±¾, ÕâÊǷdz£ÀË·Ñ´ø¿íµÄ, ²»¹ýÓÉÓÚSMTPÐÒéµÄÏÖ×´, Õâ¸ö·½Ê½¿ÉÒԵõ½¸üÉÙµÄÀ´»ØÍù·µÑÓ³Ù, ´Ó¶ø±ÈµÚÈýÖз½Ê½¸ü¿ì. ¶øÇұȵÚÈýÖÖ·½Ê½¸ü¼òµ¥, ½ø¶øMTA¿ÉÒÔ±»±àдʹÓÃÒ»¸ö¸üÖ±½ÓÁ˵±µÄ·½Ê½À´´«ËÍÓʼþ. ×îºó, ÓÉÓÚÿ¸ö½ÓÊÕÕß½ÓÊÕµ½ÊôÓÚËû×Ô¼ºµÄÄÄÒ»·ÝÓʼþ¸±±¾, ÕâÑù²ÅÓпÉÄÜÈÃMTAʵÏÖVERPs(²Î¼ûÏÂÒ»½Ú)
qmail ×ÜÊÇʹÓõڶþÖÖ·½Ê½(single RCPT). ¶øÇÒûÓв¹¶¡ÈÃqmailʵÏÖµÚÈýÖÖ·½Ê½(multiple RCPT)µÄ´«ËÍ-- ÒòΪÄǽ«ÊÇÒ»¸ö·Ç³£´óµÄÐÞ²¹¹¤×÷.
ËäÈ»ÓÐЩ²¡Ì¬µÄ°¸Àý±íÃ÷µÚ¶þÖÖ·½Ê½±ÈµÚÈýÖÖ·½Ê½¸üÂý, ÕûÌåÉÏ, ϵͳµÄ¼òµ¥ÐÔºÍVERPÈ¡µÃµÄÓÅÊÆ±ÈÕâ¸ö¸üÎªÖØÒª.
Single RCPT ´«ËÍ·½Ê½±Èmultiple RCPT·½Ê½µÄȷʹÓÃÁ˸ü¶àµÄ´ø¿í, ²»¹ý²î±ð³£³£ÊDZ»¿ä´óÁ˵Ä. ¾ø´ó¶àÊýÓʼþÖÁ¶àÖ»ÓÐÁ½¸ö½ÓÊÕÕß, ¶øËûÃÇͨ³£ÊDZ¾±ðÁ½¸öÖ÷»úÉϵÄÓû§, ¶ÔÓÚÕâÑùµÄÇéÐÎ, multi-RCPTûÓÐÈκÎÓÅÊÆ. ÉõÖÁÇé¿öÌØÊâЩ, ÔÚÒ»¸öÓʼþÁбí·þÎñÆ÷ÉÏ, Ïà¶ÔÀ´Ëµ, multi-RCPT¿´ÆðÀ´»áÓкܴó°ïÖú¿ÉÊÇDZÔÚµÄÔöÒæÊǷdz£Î¢Ð¡µÄ, ÒòΪSMTPÀûÓõÄÍùÍùÖ»ÊÇ´ø¿íµÄºÜϸËéµÄ·Ý¶î, ÔÚ¾ø´ó¶àÊýÁ¬½ÓÉÏ, HTTPͨ³£Õ¼ÓÃÁË×î´óµÄ²¿·Ö.
¾ÙÒ»¸öÀý×Ó, Èç¹ûÄãµÄÉÏÐдø¿íµÄ10%ÓÃÓÚSMTP, ¼ÙÉèÄãµÄSMTP´ø¿íÓÉÓÚʹÓÃmultiple RCPT±»½µµÍÁË25%, ÄÇôʵ¼ÊÉÏÓ¦ÓÃmultiple RCPT½ö½öÈÃÄãµÄSMTPÐèÇóµÄ×Ü´ø¿íÐèÇ󽵵͵½ÁË7.5%.
5.5. ¹ØÓÚ VERP
Ò»µ©Ò»¸öÓʼþδÄܱ»´«ËÍ, MTAµÄ·´Ó¦Ó¦¸ÃÊǰ´ÕÕÐÅ·âÉϵķµ»ØÂ·¾¶(envelope return path, ERP)·¢ËÍÒ»¸ö·´µ¯Óʼþ. ·´µ¯ÓʼþÓ¦¸Ã°üÀ¨½ÓÊÕÕߵĵØÖ·, δÄÜ·¢Ë͵ÄÔÒò, ÒÔ¼°¹ÊÕÏÊÇÔÝʱµÄ»¹ÊÇÓÀ¾ÃµÄÐÅÏ¢. ¾¡¹ÜijЩMTA×öµÄ²»ÊÇÕýÈ·µÄÊÂÇé, ËûÃÇ·¢ËÍ·´µ¯Óʼþ¸øÓʼþÍ·µÄFromÇøÓò±êÖ¾µÄµØÖ·, »òÕß·´µ¯Óʼþ¸É´à²»ÄÜʶ±ð½ÓÊÕÕß.
¶ÔÓÚ´ó¶àÊýÓû§µ½Óû§µÄÓʼþ, ÕâÖÖÎÊÌâûʲô´ó²»ÁË. ÈËÃÇ¿ÉÒÔ°´ÕÕ·´µ¯¶¨Ê±ºÍÓʼþÄÚÈÝÀ´´¦Àí. ¿ÉÊǶÔÓÚÓʼþÁбí, Ôã¸âµÄ·´µ¯½«»áÑÏÖØµÄ¶à. ¶©ÔÄÕßÒÆ¶¯, ת·¢Óʼþµ½ËûÃǵÄеØÖ·, Èç¹ûеØÖ··¢Éú´«ËÍÎÊÌâ, ²¢ÇÒ·´µ¯ÓʼþÖ»°üº¬ÁËеØÖ·, ÄǾÍÎÞ·¨ÖªµÀµ½µ×ÊÇÄĸö¶©»§µÄÓʼþ±»·´µ¯ÁË.
Dan Bernstein ΪÕâ¸öÎÊÌâÌá³öÒ»¸ö½â¾ö·½°¸³ÆÎªVERP(Variable Envelope Return Path). ʹÓÃVERP, ·¢Ë͸øÃ¿¸öÓʼþÁÐ±í¶©»§µÄÓʼþ¶¼ÓµÓÐΨһµÄ·µ»ØÂ·¾¶. ÕâÈ÷´µ¯¿ØÖÆ¿ÉÒÔ¿ØÖƲéÕÒÓÐÎÊÌâµÄ¶©ÔÄÕß.
¾ÙÒ»¸öÀý×Ó, Ò»¸öµäÐ͵ķÇVERPÓʼþÁбíÓµÓеķµ»ØµØÖ·ÐÍÈçlistname-owner@domain. ¶ø¶ÔÓÚVERPÀàÐ͵ÄÓʼþÁбí, ·µ»ØµØÖ·ÐÍÈçlistname-owner-subscriber=sdomain@ldomain, ÕâÀï¶©»§µÄµØÖ· subscriber@sdomain±»Ç¶Èëµ½ÁбíÓµÓÐÕß"owner"ºÍ·ûºÅ"@"Ö®¼äÁË. (¶©ÔÄÕßÓʼþµØÖ·µÄ"@"·ûºÅ±»Öû»³ÉµÈºÅ"=".)
ezmlmÓʼþÁбí¹ÜÀíÆ÷ʹÓÃVERPÀ´×Ô¶¯¿ØÖÆ·´µ¯. ¶ÔÓÚÁбíÔÝʱµÄ´«ËÍÎÊÌâÔì³ÉµÄijЩÓʼþ¶ªÊ§, Õâ¸ö¹ÜÀíÆ÷Ò²ÌṩÈö©ÔÄÕß´ÓÁÐ±í´æµµÎļþÖе¥¶À½ÓÊյŦÄÜ. T
Russell Nelson ΪqmailϵÄMajordomoдÁËÒ»¸ö·´µ¯¿ØÖÆÆ÷, ²»¹ýËûûÓÐÔÙ¼ÌÐøÎ¬»¤Õâ¸öÈí¼þ. ¿ÉÒÔÔÚÕâÀïhttp://www.qmail.org/bounceman-0.4.shar ·ÃÎʵ½Ëü.
5.6. ¹ÊÕÏ´¦Àí
5.6.1. ½ø³Ì
Ò»¸öÇ¡µ±ÔËÐÐ×ŵÄ, ÍêÕûµÄ, ×îС»¯°²×°µÄqmail Ó¦¸ÃÓµÓÐÏÂÃæµÄËĸö½ø³Ì.
- ÓÉÓû§qmails ÔËÐÐµÄ qmail-send
- ÓÉÓû§qmailqÔËÐеÄqmail-clean
- ÓÉÓû§qmailrÔËÐеÄqmail-rspawn
- ÓÉÓû§rootÔËÐеÄqmail-lspawn
È¡¾öÓÚÄãʹÓõĺÎÖÖUNIX, ÏÂÃæÁ½¸öÃüÁîµÄÒ»¸ö¿ÉÄÜÁгöÕâЩ½ø³Ì, ¶øÇÒ¿ÉÄÜ»¹Òª¶àÒ»µã:
ps -ef | grep qmail ps waux | grep qmail¾Ù¸öÀý×Ó:
[dave@sparge dave]$ ps waux|grep qmaildave 2222 0.0 0.8 836 348 p4 S 10:25 0:00 grep qmailqmaild 351 0.0 1.0 840 400 ? S N 12:43 0:00 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u 49491 -g 31314 0 smtp /var/qmail/bin/qmail-smtpd-qmaild 2220 0.0 1.0 844 420 ? S N 10:25 0:00 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u 49491 -g 31314 0 smtp /var/qmail/bin/qmail-smtpd-qmaill 365 0.0 0.8 748 344 ? S N 12:43 0:00 splogger qmailqmailq 368 0.0 0.7 736 292 ? S N 12:43 0:00 qmail-cleanqmailr 367 0.0 0.6 732 272 ? S N 12:43 0:00 qmail-rspawnqmails 350 0.0 0.8 776 336 ? S N 12:43 0:00 qmail-sendroot 340 0.0 0.6 724 252 ? S N 12:43 0:00 /usr/local/sbin/supervise /var/supervise/qmail-send /var/qmail/rcroot 341 0.0 0.6 724 252 ? S N 12:43 0:00 /usr/local/sbin/supervise /var/supervise/tcpserver-qmail /usr/local/bin/tcpserver -v -x /etc/tcp.smtproot 366 0.0 0.7 736 276 ? S N 12:43 0:00 qmail-lspawn ./Mailbox[dave@sparge dave]$Èç¹ûÄãÔÚsuperviseÏÂÔËÐÐqmail»òqmail-smtpd, ÏñÉÏÃæµÄÀý×ÓÄÇÑù, ÄãÓ¦¸ÃÄÜ¿´µ½ÉÏÃæÄÇЩ½ø³Ì. Èç¹ûÄãÔÚtcpserverÏÂÔËÐÐqmail-smtpd, Ä㽫¿´µ½Ò»¸ö¸¸tcpserver½ø³Ì¼ÓÉÏÿ¸ö»î¶¯µÄSMTP·ÃÎʽ¨Á¢µÄÁ¬½ÓµÄtcpserver½ø³Ì.
Èç¹ûÄãʹÓÃsplogger (»òÕß multilog »òÕß cyclog) À´¿ØÖÆÈÕÖ¾, ÄãÓ¦¸Ã»¹ÓÐÒ»¸ö splogger(»òÕß multilog »òÕß cyclog) ½ø³ÌÓÉÓû§qmaillÔËÐÐ×Å.
ͬʱ, Èç¹ûqmailæÓÚ´«Ëͱ¾µØºÍÔ¶³ÌÓʼþ, Ä㽫»á¿´µ½×î¸ßÉÏÏÞΪ concurrencylocal ¸öÊýµÄqmail-local½ø³Ì, »òÕß×î¸ßÉÏÏÞΪ concurrencyremote ¸öÊýµÄqmail-remote ½ø³Ì.
5.6.2. ÈÕÖ¾
5.6.2.1. multilog
multilog, ÊÇdaemontools Èí¼þ°üÄÚµÄÒ»²¿·Ö, ¹¦ÄÜÊǽ«ÈÕÖ¾¼Ç¼µ½Ö¸¶¨Îļþ¼ÐÄÚһϵÁÐÎļþÉÏ.
ÈÕÖ¾Îļþ¼Ð½«ÔÚmultilogÃüÁîÐÐÉÏÖ¸¶¨, ËùÒÔÄã¿ÉÒÔ¼ì²éÄãµÄqmailÔËÐнű¾À´È·¶¨Îļþ¼ÐµÄλÖÃ.
logÎļþ¼ÐÄÚÎļþÊýÁ¿ÒÔ¼°Ã¿¸ölogÎļþµÄ×î´ó³¤¶È, ÊÇÓÉmultilogµÄÑ¡Ïî¾ö¶¨µÄ. logÈÕÖ¾ÎļþÃûÊÇÒÔÎļþ¿ªÊ¼¼Ç¼ʱ¿ÌµÄTAI (Temps Atomique International) ʱ¼ä´ÁÃüÃûµÄ. daemontoolsÀïÃæµÄÁíÍâÒ»¸öÃüÁî tai64nlocal , ¿ÉÒÔת»»TAIʱ¼ä´ÁΪÒ×¶ÁµÄ±¾µØÊ±¼ä´Á.
Ò»¸ö±ê×¼µÄmultilogÈÕÖ¾ÌõÄ¿¿´ÆðÀ´ÊÇÏÂÃæÕâÑùµÄ:
@4000000038c3eeb104a6ecf4 delivery 153: success: did_1+0+0/"@4000000038c3eeb104a6ecf4"ÊÇTAIʱ¼ä´Á, Ϊ¿ÉÑ¡²¿·Ö, ²»¹ýÍÆ¼öÔÚÈÕÖ¾ÌõÄ¿ÀïÃæ¼ÓÉÏÕâ¸ö¶Î, "delivery 153: success: did_1+0+0/" ÊÇÈÕÖ¾ÏûÏ¢±¾Éí.
5.6.2.2. splogger
splogger ʹÓÃsyslog ÈÕÖ¾¼Ç¼ϵͳ¸øÏûÏ¢´òʱ¼ä´Á, È»ºó½«ÏûÏ¢ËÍÍùsyslogºǫ́·þÎñ³ÌÐò. SyslogµÄÅäÖÃÎļþΪ /etc/syslog.conf. ·¢Ë͸øsyslogµÄÏûÏ¢ÓµÓй¦ÄܺÍÓÅÏȼ¶ÊôÐÔ. syslog°´ÕÕ¶¨ÒåÔÚ/etc/syslog.confÀïÃæµÄÌõÄ¿¹ýÂËÏûÏ¢, ²¢ÒÀ¾Ý¹¦ÄܺÍÓÅÏȼ¶½«ÏûÏ¢·¢ÍùÒÔÏÂÄ¿±ê: logÈÕÖ¾Îļþ, Ô¶³ÌÈÕÖ¾Ö÷»ú, »òÕß¿ØÖÆÌ¨. splogger ĬÈÏÇé¿öϽ«¼Ç¼µ½mail ¹¦ÄÜÏÂÃæ, ËùÒÔÓÃgrepÃüÁîÔÚsyslog.confÎļþÀïÃæ²éÕÒ"mail"¿ÉÒÔÏÔʾ³öqmailµÄÈÕÖ¾ÏûÏ¢µÄÅäÖÃ.
µäÐ͵ÄλÖðüÀ¨:
- /var/log/syslog
- /var/adm/SYSLOG
- /var/log/maillog
µäÐ͵ÄsyslogÈÕÖ¾ÌõÄ¿¿´ÆðÀ´ÊÇÕâÑùµÄ:
Jun 3 11:35:23 sparge qmail: 928424123.963558 delivery 153: success: did_1+0+0/"Jun 3 11:35:23" ÊÇsyslogʱ¼ä´Á
"sparge" ÊÇ·¢ËÍÕâÌõÏûÏ¢µÄϵͳÃû×Ó.
"qmail:" ÊÇsplogger ·ÅÖÃÔÚËùÓÐqmailÈÕÖ¾ÌõĿǰµÄ±êÇ©.
"928424123.963558" ÊÇÒ»¸ö¿ÉÑ¡µÄTAI ʱ¼ä´Á (²Î¿´ÏÂÒ»½Ú)
"delivery 153: success: did_1+0+0/" ÊÇÈÕÖ¾ÏûÏ¢±¾Éí.
5.6.2.3. ÈÕÖ¾ÏûÏ¢
ÏÂÃæÊÇÒ»¶Î´Ó±¾µØÏµÍ³·¢ËÍÒ»¸öÓʼþµ½Ô¶³ÌϵͳµÄÈÕ־Ƭ¶Ï:
1 @4000000038c3eeb027f41c7c new msg 938692 @4000000038c3eeb027f6b0a4 info msg 93869: bytes 2343 fromqp 18695 uid 494913 @4000000038c3eeb02877ee94 starting delivery 2392: msg 93869 to remote lwq@w3.to4 @4000000038c3eeb0287b55ac status: local 0/10 remote 1/205 @4000000038c3eeb104a13804 delivery 2392: success: 209.85.127.177_accepted_message. /Remote_host_said:_250_CAA01516_Message_accepted_for_delivery/6 @4000000038c3eeb104a4492c status: local 0/10 remote 0/207 @4000000038c3eeb104a6ecf4 end msg 93869 µÚ 1 ÐÐÖ¸³öqmail½ÓÊÕµ½Ò»ÌõÐÂÓʼþ, ÓʼþµÄ¶ÓÁÐIDÊÇ93869. ¶ÓÁÐIDÊÇ /var/qmail/queue/mess/NN/ °üº¬Õâ¸öÓʼþµÄ¶ÓÁÐÎļþµÄ i-node ½ÚµãÖµ. ¶ÓÁÐID½«ÔÚÕâ¸öÏûÏ¢´æÔÚÓÚ¶ÓÁеĹý³ÌÖб£³ÖÈ«¾ÖΨһ.
µÚ 2 ÐбíÃ÷ÓʼþÀ´×Ô dave@sill.org, ²¢ÇÒ´óСΪ2343×Ö½Ú.
µÚ 3 ÐбíÃ÷qmail-remote¿ªÊ¼´«ËÍÕâ¸öÓʼþµ½lwq@w3.to, ²¢ÇÒΪÕâ¸ö´«ËÍÖ¸¶¨ÁËID 2392.
µÚ 4 ÐÐÖ¸³ö 0 ¸ö±¾µØ´«ËÍºÍ 1 ¸öÔ¶³Ì´«ËÍ´¦Óڵȴý״̬.,
µÚ 5 ÐÐÏÔʾ³ö ID 2392 Õâ¸ö´«ËÍÒѾ³É¹¦Íê³É, ²¢ÇÒ·µ»ØÔ¶³ÌÖ÷»úµÄ»ØÓ¦, Õâ¸ö»ØÓ¦ÀïÃæ³£³£°üº¬ÁËÔ¶³ÌÓʼþ¹ÜÀíÔ±¶ÔÓÚ¸ú×ÙÕâ¸ö´«Ë͵ÄÓÐÓÃÐÅÏ¢. ÔÚÎÒÃÇÕâ¸öÀý×ÓÀïÃæ, "CAA01516"ÊÇÔ¶³ÌϵͳµÄ´«ËÍID.
µÚ 6 ÐÐÖ¸³ö 0 ¸ö±¾µØ´«ËÍºÍ 0¸öÔ¶³Ì´«ËÍ´¦Óڵȴý״̬. Ò²¾ÍÊÇ´«ËÍÒѾÍê³ÉÁË.
µÚ 7 ÐÐÖ¸³öÕâ¸öÏûÏ¢ÒѾ±»´«ËÍÍê±Ï²¢ÇÒ±»ÒƳö¶ÓÁÐ. Õâ¸öʱºò, ¶ÓÁÐID 93869, ÒѾ¿ÉÒÔÖØÓÃÓÚÆäËû´«ËÍIDÁË.
5.7. ´óÐÍ·þÎñÆ÷
ͬʱ²Î¿¼ qmail-ldap
5.7.1. ¿ÉÉìËõµÄ²¢ÐÐÔËËã
ʹÓÿìËÙNFSÍøÂçÎļþ·þÎñÆ÷´¢´æÓû§Îļþ¼Ð. ÔÚÎļþ·þÎñÆ÷ÉϽ¨Á¢¶à¸öƽµÈÓÅÏȼ¶SMTP·þÎñÆ÷´«ËÍmaildir¸ñʽÓÊÏä.
5.8. ´Ó Sendmail ×ªÒÆµ½ qmail
²é¿´Dan Bernstein µÄ Sendmail->qmail ÍøÒ³ http://cr.yp.to/qmail/sendmail.html.
5.9. ÓʼþÁбí¹ÜÀíÆ÷
ÓʼþÁбí¹ÜÀíÆ÷(MLM)ÊǰïÖúÓʼþÁбíËùÓÐÕßÔËÐÐÓʼþÁбíµÄµÄ³ÌÐò. ËüµÄ¹¦ÄÜÓÉÁ½²¿·Ö×é³É: ¹ÜÀí¶©ÔÄÕßÁбí, »¹ÓоÍÊÇ¿ØÖƶԶ©ÔÄÕßµÄÓʼþÔÙ·¢.
´ó¶àÊý(È«²¿?)UNIXÓʼþÁбí¹ÜÀíÆ÷¶¼¿ÉÒÔºÍqmail ºÏ×÷ÔËÐÐ.
5.9.1. ezmlm
ezmlm ÊÇqmailµÄ×÷ÕßDan BernsteinΪqmail±àдµÄÓʼþÁбí¹ÜÀíÆ÷. ËüÒÀÀµÓÚqmail·þÎñÆ÷µÄ¼¸¸öÌØµã¹¤×÷, ×îÏÔÖøµÄ, ¾ÍÊÇËüʹÓÃVERPs À´¿É¿¿µÄ´¦Àí·´µ¯Óʼþ. ezmlm ÔÚÖÚ¶àÓʼþÁбí¹ÜÀíÆ÷(MLM)ÖÐÏÔµÃÓеã¶ÀÌØ, Ëü²»ÊÇ´¦Àí´«Ë͵½ÖÐÑëMLMµØÖ·µÄÃüÁî, ¶øÊǽ«ÃüÁ¼ÓÔÚÁбíÃû×ÖºóÃæ. ÀýÈç, ·¢ËÍÓʼþµ½"foo-subscribe@list.example.net" À´¶©ÔÄ "foo@list.example.net" µÄÓʼþÁбí, .
¹ØÓÚezmlmµÄ¸ü¶àÐÅÏ¢, ²Î¼û http://www.ezmlm.org/, ÕâÊÇezmlmµÄ·ÇÕýʽwebÕ¾µã. ezmlm-idxµÄÕýʽվµã, ½éÉÜÁËÕâ¸ö·Ç³£°ôµÄadd-on²å¼þezmlm-idx, Ëü°üÀ¨Á˺ܶàÓÐÓõÄÌØÉ«.
5.9.2. Majordomo
Majordomo ÊÇ×îÊÜ»¶ÓµÄUNIX MLMÖ®Ò». Ö»Òª×÷ºÜÉٵļòµ¥Ð޸ľͿÉÒÔʹËüºÍqmailºÜºÃµÄºÏ×÷ÁË. Russ AllberyÔø¾Ð´ÁËÒ»¸ö¹ØÓÚqmailºÍMajordomoµÄFAQ, ¿ÉÒÔÔÚÕâ¸öλÖ÷ÃÎÊhttp://web.archive.org/web/20050308091420/http://www.eyrie.org/~eagle/faqs/mjqmail.html.
5.10. ²¹¶¡ Patches
qmailÓµÓи÷ÖÖ¸÷ÑùµÄÔ´´úÂë²¹¶¡. ΪÁ˰²×°²¹¶¡, ÏÂÔØ²¹¶¡²¢ÇÒ½øÈëqmailÔ´´úÂëĿ¼Ê÷, ʹÓÃpatch ÃüÁîÊ©¼Ó²¹¶¡.
cd /usr/local/src/qmail/qmail-1.03 patch -p0
×¢Òâ: ²Î¿¼ patch µÄ man °ïÖúҳȡµÃ¸ü¶àÐÅÏ¢. Õâ½ö½öÊǸöÀý×Ó. Äã¿ÉÄÜÐèҪʹÓÃ×îа汾µÄGNU patch À´Ê©¼Ó²¹¶¡, ²Î¼ûhttp://www.gnu.org/software/patch/patch.html.ÖÕÖ¹ qmail-send À´Í£Ö¹qmail, »òÕßÈç¹ûÄã°²×°ÁË qmailctl ½Å±¾, ÄÇôÕâÑù:
qmailctl stopÈ»ºóÖØÐ±àÒëºÍ°²×°ÐµĶþ½øÖÆ´úÂë:
make setup checkÈ»ºóÖØÐÂÆô¶¯:
qmailctl start×îºó²âÊÔqmail, ÓÈÆäÊÇÄã´ò²¹¶¡µÄ²¿·Ö.
×¢Òâ: ËäÈ»http://www.qmail.org/ÁгöÁËqmailµÄ´óÁ¿²¹¶¡, µ«ÊÇËûÃÇÖеÄÈκÎÒ»¸ö¶¼Ã»Óеõ½qmail×÷ÕßµÄÈÏ¿É. ÕâЩ²¹¶¡¿ÉÄÜÒýÈëqmailÔ±¾Ã»Óеݲȫ, ¿É¿¿ÐÔ, ЧÂÊÒÔ¼°¹¦ÄÜÐÔÎÊÌâ. ¾ø´ó¶àÊýqmail°²×°Ö»ÊÇÒªÇóÄ³Ð©ÍÆ¼öµÄ²¹¶¡. Çë²»Òª°²×°ÈκÎÄã²»ÊÇÃ÷È·ÐèÒªµÄ²¹¶¡.5.10.1. ÍÆ¼öµÄ²¹¶¡
qmail.org ÓÐÒ»¸ö"Recommended Patches"С½Ú http://qmail.org/top.html#patches . ÕâЩ²¹¶¡ÓÃÓÚ¼¸¸öÒÑÖªµÄqmailµÄbug.
×¢Òâ: ËùÓÐÍÆ¼ö²¹¶¡¶¼ÒѾ°üÀ¨ÔÚ netqmail·¢ÐаæÖÐ. Çë²Î¿¼http://www.qmail.org/netqmail/.5.10.1.1. errno.h ²¹¶¡
Õâ¸ö²¹¶¡ÐÞ¸´ errno.h Í·ÎļþȱʧÎÊÌâ. ²Î¿¼http://article.gmane.org/gmane.mail.qmail.general/13960 ²é¿´Õâ¸ö²¹¶¡, ÒÔ¼°µÄÏêϸµÄ½âÊÍ.
Mate Wierdl ΪËùÓÐ Dan Bernstein µÄÈí¼þ, ÆäÖаüÀ¨ qmail, daemontools ºÍ ucspi-tcp ±àдÁ˹ØÓÚ errno.h µÄ²¹¶¡. ¿ÉÒÔÔÚÕâÀïÕÒµ½ÕâЩ²¹¶¡Îļþ: http://www.thedjbway.org/patches/djb_errno_patches.tgz.
5.10.1.2. qmail-local TAB ²¹¶¡
Õâ¸ö²¹¶¡ÐÞ²¹´¦Àí.qmailÎļþÄÚ¶ÔTAB ×Ö·û¿ªÍ·ÃüÁî½âÎöµÄСbug. ²Î¼ûhttp://www.ornl.gov/lists/mailing-lists/qmail/2000/10/msg00696.html
5.10.1.3. IP 0.0.0.0 ²¹¶¡
Õâ¸ö²¹¶¡½«Ê¹qmail°Ñ 0.0.0.0 Õâ¸öIPµØÖ·×÷Ϊ±¾µØÖ÷»ú´¦Àí. http://www.suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch .
5.10.2. DNS
ÔÚÀúÊ·ÉÏ, DNS µÄ»Ø´ð±»ÏÞÖÆÔÚ512×Ö½ÚÒÔÄÚ. һЩ´óÐÍÕ¾µã·µ»ØµÄ MX ¼Ç¼Ҫ³¤ÓÚÕâ¸öÏÞ¶È. ÕâÑùqmailºÍÆäËûºÜ¶à³ÌÐò¶¼»áÓöµ½Õâ¸öDNS·µ»Ø²éѯ¼Ç¼¹ý³¤µÄÎÊÌâ. ÓÐÁ½ÖÖÖÖ·½Ê½À´ÐÞ²¹qmail, ÆäÖÐÈκÎÒ»¸ö¶¼¹»ÓÃÁË.
5.10.2.1. Christopher K. Davis µÄ²¹¶¡³ÌÐò, http://www.ckdhr.com/ckd/qmail-103.patch
Chuck Foster дÁËÒ»¸ö²¹¶¡ÐÞÕý, ¿ÉÒÔÅäºÏÈκÎÒ»ÖÖDNS ½âÎö¿â¹¤×÷, ÎÞÂÛ¶àÀϵĿâ, Õâ¸ö²¹¶¡Ê¹ÓÃÒ»¸ö±£»¤×Ö½ÚÀ´±ÜÃâ"ÖÃÓÚ»º³åÇøÖеÄ×Ö½ÚÊý"Õâ¸ö¿âbug. ͨ¹ýÒ»´ÎÐÔÖØ·ÖÅ仺³åÇøÎª65536´óС, ¶ø²»ÊÇÉêÇë·ÖÅäÇ¡ºÃºÏÊʵĻº³åÇø´óСÀ´½â¾öÎÊÌâ, ËùÒÔËü¿ÉÄÜÒª±ÈChuck µÄ²¹¶¡ÄÚ´æÊ¹ÓÃЧÂʵÍ. (¾¡¹ÜÈç´Ë, Õâ¸ö²¹¶¡Ò²Ö»Êǵ±·µ»Ø´óС´óÓÚPACKETSZ Çé¿öÏ²ŽøÐлº³åÇøÖØ·ÖÅä, PACKETSZ µÄĬÈÏ´óСΪ512×Ö½Ú). »º³åÇøÖØ·ÖÅäºó, ½«Ç¿ÖÆÒ»´ÎTCP²éѯ, ¶ø²»ÊÇÒªÇóDNS ½âÎö¿âÈ¥×÷½âÎö(ÕâÑù±ÜÃâÁËqmail ºÍÃû×Ö·þÎñÆ÷Ö®¼äµÄ¶îÍâÀ´»Ø½»»¥¹ý³Ì, ¾¡¹Üqmail ºÍÃû×Ö·þÎñÆ÷¿ÉÄܶ¼ÔÚÒ»¸ö·þÎñÆ÷ÉÏ, »òÕß¶¼ÔÚ±¾µØÍøÂçÄÚ, ÕâЩÀ´»Ø½»»¥¹ý³Ì²¢²»ÊÇʲôÎÊÌâ).
5.10.2.2. Ìá¸ß°ü»º´æ³¤¶Èµ½65536
Èç¹ûDNS·´À¡ÉèÖÃÓÐÇжÏλ, ÔÚ½üÀ´µÄBIND½âÎö¿âϹ¤×÷ʱ, ½âÎöÆ÷±àÂëΪ×Ô¶¯½øÐÐTCP²éѯ. ËäȻȡ¾öÓÚÄãµÄϵͳÈçºÎ¹ÜÀíϵͳÄÚ´æÒ³µÄÇé¿öÏÂ, ÄÚ´æµÄ×î´óÀ˷ѳÉΪDZÔÚ´æÔڵĿÉÄÜÐÔ, ²»¹ýÕâÈ´ÊÇ×î¼òµ¥µÄÐÞ²¹. ×÷Õâ¸öÐÞ²¹, Ö»ÐèÒªÌæ»» dns.c ÎļþÄÚµÄPACKETSZΪ 65536, È»ºóÖØÐ±àÒë°²×°qmail¾ÍÐÐÁË.
5.10.2.3. ´Ódjbdns ÔËÐÐ dnscache
dnscache ¹ËÃû˼Òå, ÊÇÒ»¸öDNSµÄ»º´æ·þÎñÆ÷. ËüÖªµÀÈçºÎÕÆÎպܳ¤µÄDNS ·µ»Ø¼Ç¼, È¥µô²»±ØÒªµÄ²éѯÐÅÏ¢, ËùÒÔͨ¹ýËü·µ»ØµÄ½á¹ûͨ³£±ÈÖ±½Ó²éѯ¸üС, ²¢ÇÒͨ³£¿ÉÒÔΪËùÓзþÎñÌá¸ßDNS²éѯÐÔÄÜ. ÓÉÓÚËü²»Óøøqmail´ò²¹¶¡, ÕâÊÇÒ»¸ö¿ÉÒÔ½ÓÊܵķ½Ê½, Òź¶µÄÊÇ, Ëü²¢²»ÄÜÍêÈ«½â¾öÎÊÌâ, ͨ¹ýËü·µ»Ø¿ÉÄܶÔqmail »¹Êǹý´ó. ²Î¼û Ïà¹ØÈí¼þ°ü Ï嵀 djbdns ½ÚÈ¡µÃ¸ü¶àÐÅÏ¢.
5.10.3. qmail-ldap
Õâ¸ö²¹¶¡, ÓÉ Andre OppermannµÈÈ˱àд, ʵÏÖÁËqmailµÄLightweight Directory Access Protocol (LDAP)Ö§³Ö. LDAPÏñÒ»¸öÍøÂçµç»°²¾. ʹÓà qmail-ldap, Ëü¿ÉÒÔʹһ¸öPOP·þÎñÆ÷Ö§³ÖÊýǧ¼ÆµÄÖÚ¶àÓû§. ²Î¼ûhttp://www.nrg4u.com/.
5.11. QMTP
QMTP ÊÇ Quick Mail Transfer Protocol µÄËõд, ÓÉDan BernsteinÉè¼ÆµÄÓÃÀ´Ìæ´úSMTPµÄÐÒé. Õâ¸öÐÒ鶨ÒåÔÚ http://cr.yp.to/proto/qmtp.txt . QMTP±ÈSMTP¸ü¼òµ¥, ¸ü¿ìËÙÒÔ¼°¼æÈÝSMTP. qmail°üº¬Ò»¸öQMTP·þÎñÆ÷, qmail-qmtpd, ËüÔËÐÐÆðÀ´·Ç³£ÀàËÆÓÚ qmail-smtpd. QMTPͨ³£Ê¹Óö˿Ú209.
qmail²¢²»°üÀ¨QMTPµÄ¿Í»§¶Ë, ²»¹ý serialmail Èí¼þ°ü°üÀ¨Ò»¸ö¿Í»§¶Ë. maildirqmtp ÃüÁî½ÓÊÕmaildir¸ñʽÓÊÏä²¢ÒÔQMTPÐÒé´«ËÍÓÊÏäÄÚµÄÓʼþµ½Ö¸¶¨µÄQMTP·þÎñÆ÷.
QMTP²»ÊÇÒ»¸ödrop-in·½Ê½µÄSMTPµÄÌæ´úÆ·, ÔÚÒòÌØÍøÉϵÄʹÓÃÒ²²»ÊÇºÜÆÕ±é.
Russ Nelson Ϊqmail-remoteдÁËÒ»¸öÖ§³ÖQMTPµÄ²¹¶¡. ¿ÉÒÔÔÚ ÕâÀï http://www.qmail.org/qmail-1.03-qmtpc.patch È¡µÃÕâ¸ö²¹¶¡. ËûÒ²±àдÁËÒ»¸ötarball°²×°·½Ê½µÄ³ÌÐò, ¿ÉÒÔÕ¹¿ªµ½ /service Ŀ¼Ï½øÐÐQMTP·þÎñ. ¿ÉÒÔÔÚÕâÀïhttp://www.qmail.org/qmtpd-service.tar.gz È¡µÃÕâ¸ötarball°ü.
5.12. ÔÚSMTP¶Ô»°¹ý³ÌÖоܾøÎÞЧ½ÓÊÕÕß
µ±Ò»¸öÔ¶¶Ë·þÎñÆ÷Á¬½Óµ½ qmail-smtpd·þÎñ²¢Ìá½»ÁËÒ»¸öÓʼþʱ, qmail-smtpd·þÎñ»áÒÀ¾Ý control»ò rcpthostsµÄÄÚÈÝÀ´¼ì²éÊÕ¼þÈ˵ĵØÖ·. Èç¹û½ÓÊÜÕߵķþÎñÆ÷Ãû»òÓòÃû(¾ÍÊÇÓʼþµØÖ·ÔÚ@·ûºÅºóÃæµÄ²¿·Ö)ÔÚÕâÁ½¸öÁбíÄÚ´æÔÚ,qmail-smtpd »á½ÓÊÜÕâ·âÓʼþ, ²¢½«Óʼþ·ÅÖÃÓÚ·¢ËͶÓÁÐÄÚ, qmail-send ½«¿ªÊ¼³¢ÊÔ´«ËÍÓʼþ. Èç¹ûͨ¹ýÃû×ÖÔÚ±¾µØ½ÓÊÕÕßÄÚ²éÕÒ²»µ½½ÓÊÕÓû§»òÕß±ðÃû, ¼´±¾µØ½ÓÊÕÕßÎÞЧ, qmail-send »áÉú³ÉÒ»¸ö·´µ¯Óʼþ²¢½«Óʼþ´«Ë͵½»Ø¸´µØÖ·, Õâ¸ö»Ø¸´µØÖ·ÔÚSMTP¶Ô»°¹ý³ÌÖÐÈ·¶¨.
ÔÚÒ»¸öÖÈÐò²¢ÀñòµÄÊÀ½ç, ÈκβßÂÔ»ò¼ÆÄ±¶¼ÊÇÓкõĽá¹ûµÄ. µ«ºÜ²»ÐÒ, ³ý´ËÖ®Íâ, »¹ÓкܶàÐÐΪ¶ñÁÓµÄÀ¬»øÓʼþÖÆÔìÕß. һЩÀ¬»øÖÆÔìÕßÊÔͼ°ÑÓʼþ·¢Ë͵½Äã·þÎñÆ÷ÉÏ"¿ÉÄÜ"´æÔÚµÄÓû§ÓÊÏä, ËûÃÇʹÓó£ÓÃÃû×Ö×Öµä»òÊý¾Ý¿â, ÉõÖÁËûÃÇÇî¾ÙËùÓпÉÄܵÄ×Öĸ×éºÏÀ´¹¹³ÉÒ»±¾Ãû×Ö×Öµä, ÏòÕû¸ö×Öµä»òÊý¾Ý¿âÄÚËùÓÐ"¿ÉÄÜ"´æÔÚµÄÈË·¢ËÍÀ¬»øÓʼþ.
ÔÚqmail ϵͳÄÚ, ÕâÖÖÀ¬»øÓʼþÐÐΪ»áÔì³É¾Þ´óµÄϵͳ¸ºµ£, Óʼþ¶ÓÁÐÄÚ³ä³âÀ¬»ø, ²¢ÇÒµ¢¸éÁ˺ÏÀíºÏ·¨ÓʼþµÄ´«ËÍ.
һЩMTA ÔÚSMTP ¶Ô»°¹ý³ÌÖжԱ¾µØÓʼþ½ÓÊÕÕß½øÐÐÈ·Èϲ¢¶Ô²»Æ¥ÅäµÄÓʼþÓèÒԾܾø, ÕâÃâÈ¥ÁËÓʼþ·þÎñÆ÷´óÁ¿µÄ²»±ØÒª¹¤×÷, µ«Ò²´øÀ´Á˸ºÃæÓ°Ïì, ʹÓÃÕâÖÖУÑ鷽ʽ, À¬»øÓʼþÖÆÔìÕß¿ÉÒÔѸËÙÈ·¶¨ÄÇЩÓʼþµØÖ·ÔÚÄãµÄ·þÎñÆ÷ÉÏÊÇ´æÔÚµÄ.
Óм¸ÖÖ·½Ê½¿ÉÒÔÔÚqmail ÉÏʵÏÖÔÚSMTP ¶Ô»°¹ý³ÌÖÐУÑéÓû§ÃûÊÇ·ñ´æÔÚ. Eben Pratt ½¨Á¢ÁËÒ»¸öÁбí, ÔÚÕâÀïhttp://netdevice.com/qmail/rcptck/ . ¾ø´ó¶àÊýÕâÖÖ½â¾ö·½°¸¶¼ÒªÇóÌṩһ¸öÓÐЧ»òÎÞЧ½ÓÊÕÕßµÄÊý¾Ý¿â»òÕßÏàӦģʽ. ÆäÖÐÒ»¸ö²»Ê¹ÓÃÊý¾Ý¿âµÄ½â¾ö·½Ê½ÊÇPaul Jarc µÄqmail-realrcptto, ¿ÉÒÔÔÚÕâÀïÕÒµ½Ëühttp://code.dogmap.org./qmail/.
5.13. TLS and STARTTLS
¹ØÓÚÔÚqmail ÉÏʹÓô«Êä²ã¼ÓÃÜ(TLS), Scott Gifford дÁËÒ»¸ö·Ç³£Ïêϸ³¹µ×µÄÒ»²½Ò»²½½éÉÜÎĵµ, °üÀ¨ÔÚSMTP ÉÏʹÓÃSTARTTLS ºÍÔÚPOP3D ÉÏʹÓÃSTLS, רÃÅÓÃÓÚnetqmail , ¿ÉÒÔÔÚÕâÀï·ÃÎÊÕâ¸öÎĵµ: http://www.suspectclass.com/~sgifford/ucspi-tls/ucspi-tls-qmail-howto.html.
¸½Â¼ A. ÖÂл
Ê×ÏÈ, ¸ÐлDan Bernstein ±àдÁËÕâÑùÒ»¸öÇ¿´ó¶øÓÅÑŵÄϵͳ. ¾¹ý½üÊ®ÄêµÄʹÓÃ, qmailÒÀÈ»¸øÎÒÉî¿ÌµÄÓ¡Ïó.
ÎÒÒ²¸ÐлÄÇЩqmail ÓʼþÁбíµÄ³ÉÔ±. ×÷Ϊ×îÓаïÖúµÄ, ×îÓÐÄÍÐĵÄ, ÒÔ¼°×î֪ʶԨ²©ºÍÓÐȤµÄ׫¸åÈËÖ®Ò», Russell Nelson Ó¦¸Ã±»ÌرðÌá¼°, Ëû¶ÔÓÚqmail ÉçÇøµÄ¹±Ï×½ö´ÎÓÚDJB. Æä´ÎÊÇCharles Cazabon, Ëû½ô½Ó×ÅRuss Ö®ºó, Charles ÊÇ×î½üÓʼþÁбíµÄÖ÷Ҫ׫¸åÕß, ±ÈÆäËûÈ˸ü¶àµÄ¸ø³öÕýÈ·´ð°¸. Charles »¹Ð´ÁËÁ½¸ö·Ç³£ÓÐÓõÄʵÓóÌÐò--getmail ºÍpymsgauth, ͬʱ»¹ÊÇThe qmail Handbook µÄ¼¼Êõ±à¼, ËûµÄÎÄÕ±»ÈÏΪÊÇ´ËÊé³É¹¦µÄÖØÒªÔÒò, Òò´ËËûÒ²µÃµ½Á˲»ÉÙ½±ÉͺÍÔÞÓþ.
¸Ðлÿһ¸öÆÀÂÛ»òÕß¶ÔÕâ¸öÎĵµ×÷³ö¹±Ï×µÄÈË, ËûÃǰüÀ¨:
- Vince Vielhaber
- Chris Green
- Christopher K. Davis
- Scott Schwartz
- Fred Lindberg
- Russell P. Sutherland
- Alex Miller
- Tim Hunter
- Frank D. Cringle
- Mahlon Smith
- Rogerio Brito
- Tony Hansmann
- Matthias Andree
- Tillman Hodgson
- Stefan Witzel
- Scott Gifford
- ÓÐÌ«¶à¿É±»Ìá¼°µÄÆäËûµÄÈËÁË....
ÌØÊâ¸ÐлHenning Brauer¾èÔùÁËlifewithqmail.org ÓòÃû, ²¢Î¬»¤·þÎñÆ÷!
Life with qmail ʹÓÃSimple Document Format (SDF) ±àд, SDFÊÇÒ»¸ö·Ç³£¿áµÄ»ùÓÚPerl µÄ±ê¼ÇÓïÑÔ, ¿ÉÒÔ²úÉúHTML, ´¿Îı¾, PostScript, PODÒÔ¼°ÆäËû¸ñʽ. Õâ¸ö¹¤¾ßʹ¹¤×÷±äµÃÌØ±ðÈÝÒ×, ²Î¼ûhttp://search.cpan.org/author/IANC/sdf-2.001/ ²éÕÒ¹ØÓÚÕâ¸ö¹¤¾ßµÄ¸ü¶àÐÅÏ¢.
¸½Â¼ B. Ïà¹ØÈí¼þ°ü½éÉÜ
B.1. dot-forward
Sendmail ʹÓÃ.forward(·¢Òô dot forward)ÎļþÀ´ÔÊÐíÓû§¿ØÖÆ´«ÊäËûÃÇÊÕµ


