¹Ø¼ü×Ö£º Qmail
ÔÎÄwebµØÖ·: http://www.lifewithqmail.org/
·Ò룺Jerry Zhou (Jerry underline ZhiJun(@)21cn.com)
Ôʼ°æÈ¨ÓÉ×÷ÕßDave SillÓµÓÐ
ÖÐÎÄ·Òë°æÊ¹ÓÃȨÓÉÔ×÷ÕߺͷÒëÕß¹²Í¬ËùÓÐ, Çë²»ÒªÓÃÓÚÉÌÒµÓÃ;.
×ªÔØ, ¿¯µÇ, ժ¼ÇëÊ×ÏÈÈ¡µÃÔ×÷ÕߺÍÒëÕßµÄͬÒâ
ÖÐÎİæÉÏÒ»°æÎª2003Äê8ÔÂ16ÈÕ, Õâ¸ö¾É°æ±¾µÄÌÖÂÛºÍÈ¡µÃÇë·ÃÎÊÕâÀï:lwq2003.justso.cn,
Õâ¸ö°æ±¾µÄÌÖÂÛÖ÷Ò³ÉèÔÚlinuxforum µÄÓʼþºÍDNS·þÎñÆ÷°æÃæ,¿ÉÒÔ·ÃÎÊÕâÀïµ½´ï lwq2006.justso.cn.
±¾ÎÄΪÍêÕûµÄÖÐÎİ汾. Õâ¸ö°æ±¾ÓÉDave SillÊÕ²ØÓÚhttp://www.lifewithqmail.org/.
½÷ÒÔ´Ë·ÒëµÄÀͶ¯ÖÂлÎҵĸ¸Ä¸, ½ã½ãÒ»¼ÒÒÔ¼°ºÜ¶àÅóÓѺÍͬÊÂ.
Ò²¿ÉÒÔͨ¹ýÎÒµÄblogµØÖ·ÕÒµ½ÎÒ: www.justso.cn
×ÏɫС×ÖºÅΪÒëÕß×¢, °üÀ¨Ó¢ÎÄÔÎÄ¿¼Á¿ºÍһЩ»ù´¡ÖªÊ¶.
ÎÄÖн«Í³Ò»Ó¦ÓÃÓ¢ÎĶººÅ(,) ºÍ¾äºÅ(.) ÒÔ¼°ÒýºÅ(")µÈÓ¢Îıêµã·ûºÅ.
Èç¹ûÄÄλ¸Ų̂ͬ°ûÀÖÒâÖÆ×÷Big5ÂëµÄ°æ±¾, ÇëºÍÎÒÁªÏµ.Jerry underline ZhiJun(@)21cn.com. Èç¹ûÄã¶ÔÀïÃæ·ÒëµÄÎÄ×ÖÓÐÈκÎÒâ¼ûºÍÉÌȶ, Çëe-mailÒëÕß, ÎÒÃÇÒ»ÆðÀ´°ÑLWQ·ÒëµÄ¸üºÃ! ¸øÒëÕßÐÅÏä·¢ËÍÓʼþ, ÇëÖ¸¶¨±êÌâΪ"For Translations of LWQ". ·ñÔò½«±»×÷ΪÀ¬»øÓʼþ´¦Àí, ²»ÇéÖ®Çë, Ï£Íû¼ûÁÂ.
ÖÐÎÄ·Òë °æ±¾: 2006-4-14
ÏÂÃæÊÇÕâ¸ö°æ±¾ºÍ2003-8-16°æ±¾Ïà±ÈµÄ¸üÐÂÐÞÕý:
ÒÔÏÂΪLife with qmail ÖÐÎİæÕýÎÄ
Ŀ¼
- 1. ½éÉÜ
- 1.1. ÊʺÏÔĶÁ±¾ÎĵĶÁÕß
1.2. ʲôÊÇqmail?
1.3. ΪʲôÓÃqmail?
1.4. ·¢Õ¹ÀúÊ·
1.5. ÌØµã
1.6. Ïà¹ØµÄÈí¼þ°ü
1.7. Ìåϵ½á¹¹
1.8. °æÈ¨Ðí¿ÉÐÅÏ¢
1.9. ºÍÆäËûMTAÏà±È½Ï
1.10. Îĵµ
1.11. ¼¼ÊõÖ§³Ö
2. °²×°
- 2.1. ²»Í¬µÄ°²×°ÐÎʽÒÔ¼°Ï໥µÄ±È½Ï
2.2. ×¼±¸¹¤×÷
2.3. ϵͳҪÇó
2.4. ÏÂÔØÔ´´úÂë
2.5. ±àÒëÔ´´úÂë
2.6. °²×° ucspi-tcp
2.7. °²×°daemontools
2.8. ÔËÐÐ qmail
2.9. ²âÊÔ
3. ÅäÖÃ
- 3.1. ÅäÖÃÎļþ
3.2. ÖмÌתÐÅ
3.3. ¶àÖ÷»úÃû
3.4. ÐéÄâÓò
3.5. ±ðÃû
3.6. ¹ØÓÚ qmail-users
3.7. ·´À¬»øÓʼþ
3.8. ²¡¶¾É¨Ãè
4. ʹÓ÷½·¨
- 4.1. .qmail Îļþ
4.2. ·¢ËÍÓʼþ
4.3. »·¾³±äÁ¿
5. ¸ß¼¶»°Ìâ
- 5.1. ¹ØÓÚ procmail
5.2. POP ºÍ IMAP ·þÎñÆ÷
5.3. POP ºÍ IMAP ¿Í»§¶Ë
5.4. Multi-RCPT Óë Single RCPT ´«ËÍ·½Ê½µÄ±È½Ï
5.5. ¹ØÓÚ VERP
5.6. ¹ÊÕÏ´¦Àí
5.7. ´óÐÍ·þÎñÆ÷
5.8. ´Ó Sendmail ×ªÒÆµ½ qmail
5.9. ÓʼþÁбí¹ÜÀíÆ÷
5.10. ²¹¶¡
5.11. QMTP
5.12. ÔÚSMTP¶Ô»°¹ý³ÌÖоܾø·Ç·¨½ÓÊÕÕß
5.13. TLS ºÍ STARTTLS
¸½Â¼ A. ÖÂл
¸½Â¼ B. Ïà¹ØÈí¼þ°ü½éÉÜ
- B.1. dot-forward
B.2. fastforward
B.3. ucspi-tcp
B.4. daemontools
B.5. qmailanalog
B.6. rblsmtpd
B.7. serialmail
B.8. mess822
B.9. ezmlm
B.10. safecat
B.11. djbdns
B.12. maildrop
B.13. syncdir
¸½Â¼ C. ÒòÌØÍøÓʼþ¹¤×÷ÔÀí
- C.1. ÓʼþÈçºÎ´ÓAµãµ½´ïBµã
C.2. ÆäËû×ÊÁÏ
¸½Â¼ D. Ìåϵ½á¹¹
- D.1. Ä£¿é»¯ÏµÍ³½á¹¹
D.2. Îļþ½á¹¹
D.3. ¶ÓÁнṹ
D.4. ͼƬ
¸½Â¼ E. һЩ²»³£¼ûµÄÎÊÌâ
- E.1. qmailÈçºÎ´¦ÀíÑÓÆÚ·¢Ë͵ÄÓʼþ?
E.2. ΪʲôÎÒÎÞ·¨¸øÒ»¸öÓкܶàMX¼Ç¼µÄ´óÕ¾µã·¢ËÍÓʼþ?
E.3. QUEUE_EXTRAÊÇʲô?
¸½Â¼ F. ´íÎóѶϢ
¸½Â¼ G. ÐÂÊÖ³£¼ûÎÊÌâ
G.1. qmail ²»Äܸø³¬¼¶Óû§·¢Óʼþ
G.2. qmail ²»ÄܸøÃ»ÓÐÖ÷Ŀ¼µÄÓû§·¢Óʼþ
G.3. qmail ²»ÄܸøÃû×Öº¬Óдóд×Ö·ûµÄÓû§·¢Óʼþ
G.4. qmail ´¦ÀíÀ©Õ¹µØÖ·µÄʱºòÓÃðºÅ(:)Ìæ»»µôÁ˵ã(.)
G.5. qmail ´¦ÀíÀ©Õ¹µØÖ·µÄʱºò°Ñ´óд×Ö·ûת»»³ÉÁËСд×Ö·û
G.6. qmail ²»Ê¹ÓÃ/etc/hosts Îļþ.
G.7. qmail ²»ÔÚÈÕÖ¾¼Ç¼ SMTP µÄ»î¶¯
G.8. qmail ²»Éú³ÉÓʼþÑÓ³Ù֪ͨ
G.9. qmail ÓÉÓÚ/var/qmail/queue/lock/trigger Îļþ¶ªÊ§¡¢È¨ÏÞÉèÖôíÎó»òÕß´íÎóµÄÎļþÊôÐÔÉèÖõÈÔÒò±äµÄºÜÂý
G.10. DNS »òÕß IDENT ²éѯʹ SMTP±äÂý
G.11. »Ø³µ(Return)ºÍ»»ÐÐ(CRLF) ²»Í¬
G.12. ÈÕÖ¾»Ø¹öÔì³Éqmail-send ºÍ tcpserver Í£Ö¹
G.13. qmail-smtpd ²»ÄÜʹµØÖ·µÄ±¾µØ²¿·ÖÉúЧ
G.14. ÉèÖ÷À»ðǽµ¼ÖÂÔ¶³ÌÎÞ·¨Á¬½Ó SMTP/POP3/IMAP ·þÎñÆ÷
G.15. Èç¹ûUSER ºÍ LOGNAME ûÓÐÉèÖõϰ, qmail-inject ½«ÉèÖÃÓʼþ·¢ËÍ·½×Ö¶Î(From)ΪÄäÃû(anonymous)
G.16. Í£Ö¹qmail-send½ø³ÌµÄʱºò, Ëü²»×ÜÊÇÁ¢¼´Í˳ö.
G.17. ²»ÄÜͨ¹ý°ÑÓʼþ´«Ë͵½/dev/null ½«Óʼþ¶ªÆú.
G.18. qmail-send ÕýÔÚÔËÐйý³ÌÖÐÐÞ¸ÄÓʼþ¶ÓÁÐÊÇΣÏÕµÄ.
¸½Â¼ H. ¹ØÓÚ±¾ÎÄLife with qmail µÄ³£¼û»°Ìâ
- H.1. Õâ¸öLife with qmail µÄ°æ±¾ÊǶàÉÙ?
H.2. ËÓµÓÐLife with qmail?
H.3. Life with qmail µÄ°æÈ¨ÐÅÏ¢?
H.4. ÎÒÔõôȡµÃаæ LWQ µÄ·¢²¼Í¨Öª?
H.5. ÔÚÄÄÀï¿ÉÒÔΪ LWQ Ͷ¸å, ¾èÖúÒÔ¼°ÌÖÂÛËü?
H.6. Life with qmail ±»·Òë³ÉÆäËûÓïÑÔÁËÂð?
H.7. Life with qmail ÓÐûÓÐ PostScript, PDF, plain text, »òÕ߯äËûÈκγýÁËHTMLµÄ¸ñʽ?
H.8. ÎÒ°´ÕÕ Life with qmail ˵µÄ×÷ÁË, ¿ÉÊÇÎÒµÄϵͳ±ÀÀ£ÁË, »òÕßŪ»µÁËÎÒµÄÓ²ÅÌ, »òÕß»ÙÁËÎҵİ®Çé, »òÕßŪËÀÁËÎҵĹ·, µÈµÈÎÊÌâ, ÎÒ¸ÃÔõô°ì? (ÕâÊôÓÚÀÏÍâµÄÓÄĬÀ². ^_^, ÒëÕß×¢)
H.9. ÎÒÔõôΪ LWQ¾èÔùºÍͶ¸å?
H.10. Õâ¸ö°æ±¾µÄLWQÓÐÄÇЩ±ä»¯ÄØ?
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Ò³ÃæÐÎʽ, µØÖ·ÊÇ:
×¢Òâ: qmailµÄmanÊÖ²áÒ³Ãæ³ÐÔØÁË´óÁ¿µÄÐÅÏ¢, ËüµÄд×÷ÓïÑÔÆ«Öؼ¼ÊõÊõÓï, ¿ÉÄÜÏ൱»ÞɬÄѶ®, ±ØÐë×Ðϸ¼ÓÒÔÑжÁ. Äã¿ÉÄÜÐèҪͨ¶ÁÒ»±éÀ´ÊìϤËü. ÒòΪºÜÉÙÓÐÖØ¸´ÐÔµÄÄÚÈÝ, Äã±ØÐëÊ×ÏÈÖªµÀÀïÃæ¶¼Ð´ÁËÄÄЩÄÚÈÝ,ÒÔ¼°Äã¸ÐÐËȤµÄÄÇЩÄÚÈÝÔÚÄÄÀï, ·ñÔòÄã¿ÉÄܸù±¾ÕÒ²»µ½ÄãÒªµÄ¶«Î÷.
1.10.2. Îĵµ
qmail·¢Ðаæ°üº¬ÁËһϵÁÐÎĵµ, ͨ³£°²×°ÔÚ/var/qmail/docĿ¼ÏÂ. ËüÃǰüÀ¨ÒÔÏÂÄÚÈÝ: (±¾ÎÄÖÐĬÈϵÄÁ½¸öλÖÃ,Ò»¸ö¾ÍÊÇÎĵµµÄ¸ùλÖÃ/var/qmail/doc, Õâ¸öλÖõÄÎĵµÒ²Í¨³£±»×÷ÕßÃèÊöΪqmailÔ´´úÂëÎļþĿ¼ÏµÄdocÎĵµ, ÄÚÈÝÊÇÒ»ÖµÄ. »¹ÓÐÒ»¸ö¾ÍÊÇqmail µÄ°²×°ºóµÄÖ÷Ŀ¼ÏµĿØÖÆÎĵµ, ͨ³£Îª/var/qmail/controlÏÂÃæ, ÔںܶàÇé¿öÏÂ, ×÷Õß²¢²»Ã÷È·Ö¸³öÕâÁ½¸ö¾ßÌåλÖÃ. ÒëÕß×¢)
- FAQ: ³£¼ûÎÊÌâÒÔ¼°»Ø´ð.
- INSTALL.* Îļþ¼¯: °²×°Îĵµ.
- PIC.*Îļþ¼¯: ÃèÊöÁËqmailÈçºÎÍê³ÉºËÐÄÈÎÎñµÄÎĵµ. ²éÕÒ¸ü¶àÏà¹ØÐÅÏ¢, Çë²Î¿´¸½Â¼Ìåϵ½á¹¹.
- ÆäËû¼¸¸ö°²×°Ïà¹ØÎĵµ.
ÕâЩÎĵµÒ²¿ÉÒÔÔÚÏ߲鿴, Çëµ½webÒ³Ãæ:
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 & 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Îĵµ±£´æÔÚÒÔÏÂλÖÃ:
Õâ¸öÎĵµµÄÒ»¸öËÑË÷ÒýÇæÎ»ÖÃÔÚ:
ÆäËûwebÎĵµ¿ÉÒÔÔÚÒÔϵØÖ··ÃÎʵ½:
´ó¶àÊý¹ØÓÚ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 </dev/null >/var/log/svscan 2>&1
»òÕ߸ÄΪ:
SV:123456:respawn:/command/svscanboot </dev/null >/dev/msglog 2>&1
Ñ¡ÔñÄÇÖÖ·½Ê½, ÕâÈ¡¾öÓÚÄãÊÇÏë°ÑÆô¶¯svscanµÄ³ö´íÏûÏ¢¼Ç¼µ½logÎļþÀïÃæ»¹ÊÇÏÔʾµ½¿ØÖÆÌ¨ÉÏ. ÕâÑù×÷µÄ±ØÒªÐÔÇë²Î¿¼ÏÂÃæµÄÎÄÕÂ:
http://marc.theaimsgroup.com/?l=log&m=100327801309834&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 <<HELP stop -- stops mail service (smtp connections refused, nothing goes out) start -- starts mail service (smtp connection accepted, mail can go out) pause -- temporarily stops mail service (connections accepted, nothing leaves) cont -- continues paused mail service stat -- displays status of mail service cdb -- rebuild the tcpserver cdb file for smtprestart -- stops and restarts smtp, sends qmail-send a TERM & restarts itdoqueue -- schedules queued messages for immediate delivery reload -- sends qmail-send HUP, rereading locals and virtualdomains queue -- shows status of queue alrm -- same as doqueue flush -- same as doqueue hup -- same as reloadHELP ;; *) echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}" exit 1 ;;esacexit 0Õâ¸ö½Å±¾¿ÉÒÔÔÚÏßÏÂÔØ, µØÖ·ÊÇhttp://www.lifewithqmail.org/qmailctl-script-dt70.(½¨ÒéËùÓÐÖ±½ÓʹÓÃ, »òÕß¿½±´-Õ³ÌùwebÒ³ÃæÖ¸ÁîºÍÎļþ¸ñʽ½Å±¾Ö¸ÁîµÄ¶ÁÕß, ¶¼Òª×¢Òâ½Å±¾±àÂëת»»µÄÎÊÌâ. ±¾ÎĽ²µ½µÄqmail ÊÇÔÚUnix/Linux ÀàÐÍ·þÎñÆ÷ÉÏÔËÐеÄ, ¶øUNIX µÄ»ØÐкÍDOS/WindowsµÄ»Ø³µÔڽű¾ÄÚ±íʾµÄACSIIÂëÊÇÍêÈ«²»Í¬µÄ, Èç¹ûÓöµ½Õâ¸öÎÊÌâ, ÔÚÖ®ºóµÄ½Å±¾Ö´ÐÐÖÐ, ¿ÉÄܳöÏַdz£Ææ¹ÖµÄ´íÎóÐÅÏ¢. ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÔÚËÑË÷ÒýÇæÉϲéÕÒÉîÈë½éÉÜÄÚÈÝ. ϸÐĵĶÁÕß»¹»á×¢Òâµ½, Ó¢ÎÄÔÎĺͷÒë°æ±¾, ÔÚ´úÂëǰºó¶¼¼ÓÉÏÁË<PRE></PRE>¸ñʽ·û, ÆäÄ¿µÄ¾ÍÊÇΪÁ˱£Ö¤Ö¸Áî´úÂë²»»á±»webÒ³ÃæµÄ¸ñʽ´úÂë"ÎÛȾ". ÒëÕß×¢)
Äã¿ÉÒÔ×Ô¼ºÊäÈëÕâ¸ö½Å±¾, ²»¹ýÎÒÍÆ¼öÄãÓÃä¯ÀÀÆ÷ÏÂÔØÉÏÃæÁ´½ÓµÄÎļþ.
½«ÉÏÃæÕâ¸öqmailctl ½Å±¾ÉèÖÃΪ¿ÉÖ´Ðнű¾, È»ºóÁ´½Óµ½ÄãµÄÓû§Ö´ÐгÌÐòĿ¼:
chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin
2.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>&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 stop
2.8.2.3. SMTP ·ÃÎÊ¿ØÖÆ
ÔÊÐí±¾µØÖ÷»úͨ¹ýSMTP·½Ê½·¢ËÍÓʼþ:
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp qmailctl cdb
2.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 start
2.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/smtproutes
smtproutes Îļþ¿ÉÒÔÌṩ¸ü¶àµÄ·¾¶Ñ¡Ôñ¹¦ÄÜ, Çë²Î¿¼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 reload
3.4. ÐéÄâÓò
ÐéÄâÓòºÍÉϽÚÌáµ½µÄ¶àÖ÷»úÃûÀàËÆ, ²»¹ýÕâÀïÃæÓÐһЩºÜÖØÒªµÄ²»Í¬Ö®´¦. Ê×ÏÈÈç¹û example.net ÊÇ virtual.example.net ÐéÄâÓòµÄËÞÖ÷Ö÷»ú, ÄÇôһ¸ö·¢Ë͸ø joe@virtual.example.net µÄÓʼþ½«²»»á±»·¢Ë͸ø¼´Ê¹ÊÇͬһ¸öÓÊÏäµÄ joe@example.net, ÕâÀïÐéÄâÓòµÄÃû×Ö¿Õ¼äÊdzåÍ»µÄ.
ʹÓà qmail, ÐéÄâÓò½«ÔÚ virtualdomains ÎļþÀïÃæÅäÖÃ, ÎļþÄÚÓÉÐÍÈçÏÂÃæÕâÐеÄÌõÄ¿¹¹³É:
user@domain:prepend
qmail ת»» 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 \&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 </etc/passwd >/var/qmail/users/assign qmail-newu
3.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 µÄ·¾¶Ãû (°üÀ¨Ð±¸Ü"/"»òÕß µã".") |
| & | ת·¢ | ת·¢ÓʼþµÄµØÖ· |
| ×Öĸ»òÕßÊý×Ö | ת·¢ | ת·¢ÓʼþµÄµØÖ· (°üÀ¨µÚÒ»¸ö×Ö·û) |
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ÎļþÄڵĵØÖ·²»Äܰüº¬×¢ÊͲ¿·ÖºÍ¶àÓàµÄ¿Õ¸ñ.
ÏÂÃæµÄд·¨ÊÇ´íµÄ:
&<user@example.com> & user@example.com &Joe User <user@example.com>
ÏÂÃæµÄÊÇÕýÈ·µÄд·¨:
&user@example.com user@example.com &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/sendmail
4.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-inject
4.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) |
| ×Öĸ | ʹÓÃÄ¿µÄ |
| 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-procmail
5.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.patch
4. 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>&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/pop3d
8. ½¨Á¢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 /service
9. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"start"²¿·Ö
if svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d /service/qmail-pop3d/log else echo qmail-pop3d supervise not running fi
10. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"stop"²¿·Ö
echo " qmail-pop3d" svc -d /service/qmail-pop3d /service/qmail-pop3d/log
11. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"stat"²¿·Ö
svstat /service/qmail-pop3d svstat /service/qmail-pop3d/log
12. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"pause"²¿·Ö
echo "Pausing qmail-pop3d" svc -p /service/qmail-pop3d
13. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"cont"²¿·Ö
echo "Continuing qmail-pop3d" svc -c /service/qmail-pop3d
14. ½«ÏÂÃæÄÚÈݼÓÈëqmailctl½Å±¾µÄ"restart"²¿·Ö
echo "* Restarting qmail-pop3d." svc -t /service/qmail-pop3d /service/qmail-pop3d/log
5.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 from <dave@sill.org> qp 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 Õâ¸ö´«ËÍÒѾ³É¹¦Íê³É, ²¢ÇÒ·µ»ØÔ¶³ÌÖ÷»úµÄ»ØÓ¦, Õâ¸ö»ØÓ¦ÀïÃæ³£³£°üº¬ÁËÔ¶³ÌÓʼþ¹ÜÀíÔ±¶ÔÓÚ¸ú×ÙÕâ¸ö´«Ë͵ÄÓÐÓÃÐÅÏ¢. ÔÚÎÒÃÇÕâ¸öÀý×ÓÀ

