1997/06/03
ÀÌ »ó ·Î
1. Ȩµð·ºÅ丮¸¦ ¿©·¯ ÄÄÇ»ÅÍ¿¡ NFS·Î »ç¿ëÇÏ´Â °æ¿ì
ÀÌ °æ¿ì¿¡´Â º¸Åë /var/spool/mail µð·ºÅ丮±îÁö NFS·Î ¸¶¿îÆ®ÇÏ¿© »ç¿ëÇϵµ·Ï ȯ°æÀÌ ²Ù¸çÁ® ÀÖ´Ù. ±×·¯³ª Ȩµð·ºÅ丮¸¸ °øÀ¯µÇ°í ½ºÇ®Àº °øÀ¯ÇÏÁö ¾ÊÀ» ¶§ °¢°¢ÀÇ ÄÄÇ»ÅÍ¿¡ ·Î±äÇÏ¿© ¸ÞÀÏÀ» È®ÀÎ ÇØ¾ß ÇÑ´Ù. À̶§´Â ÀÚ½ÅÀÇ ¸ÞÀÏÀ» ÀúÀåÇÒ ÁÖ ÄÄÇ»Å͸¦ ¼±Á¤ÇÏ°í ³ª¸ÓÁö ÄÄÇ»ÅÍ¿¡ µé¾î¿À´Â ¸ÞÀÏ À» ÀÌ ÁÖ ÄÄÇ»ÅÍ·Î º¸³»¸é µÈ´Ù.

[±×¸² 1] Ȩµð·ºÅ丮ÀÇ °øÀ¯
Áï B,C ÄÄÇ»ÅÍÀÇ .forward ÈÀÏ¿¡ user_login_id@A.domain.name ³»¿ëÀ» ³Ö¾îµÎ¸é ÀÚµ¿À¸·Î ¸ÞÀÏÀÌ A·Î °¡°Ô µÈ´Ù.
2. ProcmailÀ» MDA(local mail delivery agent)·Î »ç¿ëÇϱâ
procmailÀ» MDA·Î »ç¿ëÇÏ¸é »ç¿ëÀÚ°¡ Ưº°È÷ ".procmailrc"À» ¸¸µéÁö ¾Ê°íµµ ¸ÞÀÏÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ±¸¹Ì¿¡ ¸Â´Â procmailó¹æÀ» ¿øÇÑ´Ù¸é ÀÚ½ÅÀÇ È¨¿¡ .procmailrcÀ» ¸¸µé¾î ¿øÇϴ ó¹æÀ» ³Ö¾îµÎ¸é µÈ´Ù.
¼¾µå¸ÞÀÏ 8.6.xÀÌÀü ¹öÀü¿¡¼´Â ´ÙÀ½°ú °°Àº ³»¿ëÀ» sendmail.cf¿¡ Ãß°¡ÇÑ´Ù.
Mlocal, P=/usr/local/bin/procmail, F=lsSDFMhPfn, S=10, R20,
A=procmail -Y -a -$h -d -$u
¼¾µå¸ÞÀÏ 8.7.xÀÌ»óÀÇ ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é mcÈÀÏ¿¡ "FEATURE(local_procmail)"À» ³Ö¾î
sendmail.cf¸¦ ¸¸µé°Å³ª ±âÁ¸ÀÇ sendmail.cf¿¡ MlocalÀÌ Á¤ÀÇµÈ °÷À» ´ÙÀ½°ú °°ÀÌ °íÄ¡´Â °ÍÀÌ´Ù.
±×·¯³ª mcÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÈξÀ ½±°í ¾ÈÀüÇÏ´Ù.
Mlocal, P=/usr/bin/procmail, F=SAw5:|/@glDFMPhsfn, S=10/30, R=20/40,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u
À§ÀÇ °æ¿ì F=ÀÇ ¿É¼ÇÀ¸·Î mÀÌ ºüÁ®ÀÖ´Ù. m¿É¼ÇÀº ÇϳªÀÇ ¸ÞÀÏÀ» Çѹø¿¡ °°Àº È£½ºÆ®¿¡ ÀÖ´Â ¿©·¯»ç¶÷¿¡°Ô µ¿½Ã¿¡ º¸³»´Â ±â´ÉÀÌ´Ù. ÀÌ ¿É¼ÇÀ» ÇØÁ¦ÇÑ »óÅ¿¡¼ ¿©·¯ »ç¶÷¿¡°Ô ¸ÞÀÏÀ» º¸³Â´Âµ¥ ¸ÞÀÏÀ» ¹ÞÀº »ç¶÷Áß ÇÑ»ç¶÷ÀÌ ¸ÞÀÏÀ» ¹Ý¼ÛÇÏ¸é ¿©·¯»ç¶÷¿¡°Ô µ¿½Ã¿¡ ±× ³»¿ëÀÌ ¹Ý¼ÛµÈ´Ù. ÀÌ·±ÀÏÀ» µå¹® ÀÏÀ̹ǷΠm¿É¼ÇÀ» »« °ÍÀÌ´Ù. ¸¸ÀÏ À̱â´ÉÀÌ ÇÊ¿äÇϸé m¿É¼ÇÀ» ³ÖÀ¸¸é µÈ´Ù.
¼¾µå¸ÞÀÏÀº µðÆúÆ®·Î Àü´ÞÇÒ ¼ö ÀÖ´Â ¸ÞÀϿ뷮ÀÌ 1¸Þ°¡ÀÌ´Ù. ¸¸ÀÏ ÀÌ Å©±â¸¦ 2¸Þ°¡·Î ¹Ù²Ù°í ½ÍÀ¸¸é M=2000000¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù.
Mlocal, P=/usr/bin/procmail, F=SAw5:|/@glDFMPhsfn, S=10/30, R=20/40, M=2000000,3. ¸ÞÀϸµ¸®½ºÆ®³ª mail-archive ¼¹ö¸¦ ±¸ÃàÇÏ·Á°í ÇÕ´Ï´Ù.
¸ÕÀú SmartList µð·ºÅ丮·Î À̵¿Çؼ INTROÈÀÏÀ» ÀÐ¾î º¾´Ï´Ù. ±×¸®°í SmartListÀ» °¡Á®´Ù ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº SmartListÇ׸ñÀ» Àо¼¼¿ä.
procmail¿¡ ´ëÇØ Ãʺ¸¶ó¸é
http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html
ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq
¿¡ Á¢¼ÓÇϼż ±âº» ÇÊÅ͸µ¿¡ °üÇÑ ±ÛÀ» Àо´Ï´Ù.
¸¸ÀÏ ¼¾µå¸ÞÀÏ¿¡ procmailÀ» ³Ö¾î sendmail.cfÀ» ¸¸µç°æ¿ì¿¡´Â Ȩµð·ºÅ丮¿¡ .forward¸¦ »ç¿ëÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ¸¸ÀÏ ÀÌ procmailÀÌ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ¸¸é °ü¸®ÀÚ¿¡°Ô ¼³Ä¡ÇØ´Þ¶ó°í ÁÖ¹®ÇϽʽÿÀ.
ÀÌ ±ÛÀ» ÀÐÀºÈÄ procmail, procmailrc ÀÇ ¸ÇÆäÀÌÁö¸¦ Àо½Ê½Ã¿À.
°æ°í ¸Þ½ÃÁö(warning)´Â ¹«½ÃÇØµµ µË´Ï´Ù. À̰ÍÀº »ç¿ëÇÑ ÄÄÆÄÀÏ·¯°¡ Ç¥ÁØ ANSI/POSIX ȣȯÀÌ ¾Æ´ÔÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ°í ¸Þ½ÃÁö¿¡µµ ºÒ±¸Çϰí ÄÄÆÄÀÏ·¯´Â ÀûÇÕÇÑ ½ÇÇàÈÀÏÀ» ¸¸µé¾î ³À´Ï´Ù.
6. ÄÄÆÄÀÏ·¯°¡ "loop not entered at top"À̶ó´Â °æ°í ¸Þ½ÃÁö¸¦ ³Â´Âµ¥ ±¦ÂúÀ»±î¿ä?
¹®Á¦ ¾ø½À´Ï´Ù. ¸¸ÀÏ ÀÌ °æ°í¸Þ¼¼Áö°¡ °Å½½¸®½Ã¸é gcc ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇϽʽÿÀ.
´Ü¼øÇÑ °æ°í ¸Þ½ÃÁö·Î ÄÄÆÄÀÏ·¯°¡ ½ÇÇàÈÀÏÀ» ¸¸µé¾î ³Â´Ù¸é º°¹®Á¦°¡ ¾ø½À´Ï´Ù. ¸¸ÀÏ ½ÇÇàÈÀÏÀ» ¸¸µé¾î ³»Áö ¸øÇϸé autoconf.h¿¡ "#define const"¸¦ Ãß°¡ÇϽʽÿÀ. ÀÌ·¸°Ô ÇØµµ ½ÇÇàÈÀÏÀÌ ¸¸µé¾îÁöÁö ¾Ê´Â´Ù¸é »ç¿ëÇÏ°í °è½Å ÄÄÆÄÀÏ·¯¿¡ ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
8. ÄÄÆÄÀÏ·¯°¡ regexp.cÀ» ÄÄÆÄÀÏÇÏÁö ¸øÇÕ´Ï´Ù. ¹®Á¦°¡ ¹¼´Ï±î?
optimisation ¿É¼ÇÀ» ²ô°í ÄÄÆÄÀÏ ÇØº¸¼¼¿ä.
procmailÀÌ ¼³Ä¡µÈÈÄ ÀÌ·± ÀÏÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï ÆÄÀÏÀá±Ý(Locking test)Å×½ºÆ®¸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÌ·± ÀÏÀÌ ¹ß»ýÇß´Ù´Â °ÍÀº »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ ÆÄÀÏÀá±Ý ¹æ½Ä¿¡ ¹®Á¦°¡ Àְųª ¸¶¿îÆ®µÈ µð·ºÅ丮ÀÇ ÄÄÇ»ÅÍÀÇ ÆÄÀÏÀá±Ý ¹æ½ÄÀÌ ¼·Î ¸ÂÁö ¾Ê¾Æ¼ÀÔ´Ï´Ù.
µû¶ó¼ ÀÌ °æ¿ì ÄÄÆÄÀÏÇÏ½Ç ¶§ ÆÄÀÏÀá±Ý Å×½ºÆ® ¿É¼ÇÀ» Á¦°ÅÇÏ°í ¼³Ä¡ÇϽʽÿÀ. ±×¸®°í ÀÌ ÇÁ·Î¼¼¼¸¦ Á×À϶§´Â ÆÄÀÏÀá±Ý µ¥¸óÀÎ rpc.lockdÀ» ´Ù½Ã ½ÇÇàÇØ¾ß ÇϹǷΠ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽʽÿÀ.
À̰ÍÀº ¿©·¯ ´Ù¸¥ ÄÄÇ»ÅͰ¡ °°Àº Ȩ µð·ºÅ丮¸¦ °øÀ¯ÇÏ¿© ¸ÞÀÏÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù. (¸ÞÀÏ ½ºÇ®Àº ¾ÆÁ÷ °øÀ¯ÇÏÁö ¾ÊÀº »óÅÂÀÓ) ¿¹¸¦ µé¾î A,B,C ÄÄÇ»ÅͰ¡ /home/petit¶ó´Â Ȩµð·ºÅ丮¸¦ °øÀ¯Çϰí procmailÀÌ B¿¡ ¼³Ä¡µÈ °æ¿ì AÄÄÇ»ÅÍ¿¡¼ procmailÀ» ½ÇÇàÇÏ¸é ´ç¿¬È÷ ¿¡·¯°¡ ³ª°ÚÁö¿ä. °¡Àå °£´ÜÇÑ ¹æ¹ýÀº ¸ðµç ½Ã½ºÅÛ¿¡ procmailÀ» ¼³Ä¡ÇØÁÖ´Â °ÍÀÔ´Ï´Ù. ¾Æ´Ï¸é ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¸ÞÀÏ ½ºÇ®±îÁö °øÀ¯Çϵµ·Ï ¿äûÇÏ¸é ´õ ÆíÇϰÚÁö¿ä.
11. ÀϹÝÀûÀÎ ¸ÞÀÏÇÊÅÍ·Î procmailÀ» ¾î¶»°Ô »ç¿ëÇմϱî?
Examplesµð·ºÅ丮¿Í procmail ¸ÇÆäÀÌÁö¸¦ º¸¼¼¿ä.
12. ¼Ò½º¿¡ Æ÷ÇÔµÈ ¸ÇÈÀÏÀº ¾î¶»°Ô º¾´Ï±î?
"nroff -man procmail.1 | more" ¶ó°í Ä¡¸é µË´Ï´Ù.
´Ü¾î°¡ ÀǹÌÇÏ´Â ¹Ù¿Í °°ÀÌ ÀÌ ¿¡·¯´Â /usr/mail/ µð·ºÅ丮¿¡ ÆÄÀÏÀá±Ý(locking file)À» »ý¼ºÇÒ ¼ö ¾ø´Ù´Â ¸»ÀÔ´Ï´Ù. procmailÀº »ç¿ëÀÚÀÇ È¨µð·ºÅ丮¿¡ .procmailrc ÈÀÏÀÌ ¾øÀ¸¸é ($HOME/.procmailrc) sgidµÈ mail Çã°¡±ÇÀ» °è¼Ó À¯ÁöÇÕ´Ï´Ù. ÀÌ·¸°Ô sgid°¡ ÇÊ¿äÇÑ ÀÌÀ¯´Â /usr/mail/°ú °°Àº ¸ÞÀÏ ½ºÇ®µð·ºÅ丮¿¡ ÆÄÀÏÀá±Ý(file locking)À» Çϱâ À§ÇؼÀÔ´Ï´Ù. »ç¿ëÀÚ È¨µð·ºÅ丮¿¡ .procmailrc°¡ ¾øÀ¸¹Ç·Î procmailÀº ¸ÞÀϽºÇ® µð·ºÅ丮ÀÎ /usr/mail¿¡ ÆÄÀÏÀá±ÝÀ» ½ÃµµÇÕ´Ï´Ù.(/usr/mail/$LOGNAME.lock)
¸¸ÀÏ »ç¿ëÀÚ È¨µð·ºÅ丮¿¡ .procmailrc°¡ ÀÖÀ¸¸é procmailÀº sgidµÈ mail Çã°¡±ÇÀ» Æ÷±âÇÏ°í »ç¿ëÀÚÀÇ uid/gid·Î ½ÇÇàÇÕ´Ï´Ù.(sgid°¡ ³²¿ëµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ)
ÀÌ¿¡ ´ëÇÑ ÇØ°áÃ¥À¸·Î ¿©·¯ °¡Áö°¡ ÀÖ½À´Ï´Ù.
LOCKFILE
LOG=`lockfile $DEFAULT$LOCKEXT`
TRAP="rm -f $DEFAULT$LOCKEXT"
:0
$DEFAULT
:0:$HOME/.lockmail
$DEFAULT
±×¸®°í ´Ù¸¥ ¸ÞÀÏÇÁ·Î±×·¥(¼¾µå¸ÞÀÏ, ÆË¼¹ö..)µµ ÀÌ lockfileÀ» »ç¿ëÇϵµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.