fetchmail ÇÁ·ÎÁ§Æ®¿¡¼ Å« ÀüȯÀÌ ÀϾ´ø °ÍÀº Çظ® È£ÈåÇÏÀÌÀú(Harry Hochheiser) °¡ Ŭ¶óÀ̾ðÆ® ¸Ó½ÅÀÇ SMTP Æ÷Æ®·Î ¸ÞÀÏÀ» Æ÷¿öµùÇÏ´Â ´ë·«ÀûÀÎ Äڵ带 º¸³»ÁØ ¶§¿´´Ù. º¸ÀÚ¸¶ÀÚ ÀÌ ±â´ÉÀ» ¾ÈÁ¤ÀûÀ¸·Î ±¸ÇöÇÑ´Ù¸é ´Ù¸¥ ¸ðµç ¹è´Þ ¹æ¹ýÀº ±¸½ÄÀÌ µÇ¸®¶ó´Â °ÍÀ» ±ú´Þ¾Ò´Ù.
¿©·¯ ÁÖ µ¿¾È ³ª´Â fetchmailÀ» Á¶±Ý¾¿ ¶â¾î°íÄ¡°í ÀÖ¾ú´Âµ¥, ÀÎÅÍÆäÀ̽º ¼³°è°¡ ÀÛµ¿Çϱä ÇÏÁö¸¸ ÁöÀúºÐÇÏ´Ù°í ´À³¢°í ÀÖ¾ú´Ù. ¿ì¾ÆÇÏÁöµµ ¾Ê°í ¸î ¾ÈµÇ´Â ¿É¼ÇµéÀÌ ³Ê¹« ¿©±âÀú±â Èð¾îÁ® ÀÖ¾ú´Ù. °¡Á®¿Â ¸ÞÀÏÀ» ¸ÞÀϹڽº ÆÄÀÏ¿¡ ºÎ¾î³õÀ» °ÍÀÎÁö, Ç¥ÁØÃâ·ÂÀ¸·Î ³»º¸³¾ °ÍÀÎÁö °áÁ¤ÇÏ´Â ¿É¼ÇÀÌ Æ¯È÷ °ñÄ¡°Å¸®¿´Áö¸¸ ¿Ö ±×·±Áö È®½ÇÈ÷ ±ú´ÝÁö´Â ¸øÇß´Ù.
SMTP Æ÷¿öµùÀ» »ý°¢ÇÏÀÚ ±×µ¿¾È popclient °¡ ³Ê¹« ¸¹Àº °ÍÀ» Çس»·Á°í Çß´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú´Ù. poopclient ´Â MTA (Mail Transport Agent) ¿Í MDA (Mail Delivery Agent)ÀÇ ±â´ÉÀ» ¸ðµÎ °¡Áöµµ·Ï ¼³°èµÇ¾ú´Ù. SMTP Æ÷¿öµù¸¸ ÇÒ ¼ö ÀÖ´Ù¸é MDA ±â´ÉÀ» ¾ø¾Ö ¼ø¼öÇÑ MTA °¡ µÉ ¼ö ÀÖ¾ú´Ù. sendmail °ú ¸¶Âù°¡Áö·Î ÃÖÁ¾ÀûÀÎ ¸ÞÀÏ ¹è´ÞÀº ´Ù¸¥ ÇÁ·Î±×·¥¿¡°Ô ¸Ã±â¸é µÇ´Â °ÍÀÌ´Ù.
TCP/IP¸¦ Áö¿øÇÏ´Â Ç÷§ÆûÀ̶ó¸é °ÅÀÇ ¾îµð¿¡³ª 25¹ø Æ÷Æ®°¡ ±â´Ù¸®°í Àִµ¥ ¹«¾ù ¶§¹®¿¡ º¹ÀâÇÑ MDA ±â´ÉÀ» ¼³Á¤Çϰųª ¸ÞÀϹڽº¸¦ Àá±×°í µ¡ºÙÀÌ´Â (lock-and-append) ¹®Á¦¸¦ °¡Áö°í °í»ýÀ» Çϴ°¡? ´õ±¸³ª Æ÷¿öµùÀ» »ç¿ëÇÏ¸é °¡Á®¿Â ¸ÞÀÏÀÌ Æò¹üÇÑ SMTP ¸ÞÀÏó·³ º¸ÀÏ °ÍÀÌ°í, ¿ì¸®°¡ ¿øÇÏ´Â °ÍÀÌ ¹Ù·Î ±×°ÍÀ̾ú´Âµ¥ ¸»ÀÌ´Ù.
¸î°¡Áö ¹è¿ï Á¡ÀÌ ÀÖ¾ú´Ù. ¸ÕÀú, SMTP Æ÷¿öµù¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î´Â ³»°¡ ¸®´©½ºÀÇ ¹æ¹ýÀ» ¸ð¹æÇÏ·Á°í ÀǽÄÀûÀ¸·Î ³ë·ÂÇÑ °Í¿¡ ´ëÇÑ °¡Àå Å« º¸´äÀ̾ú´Ù. »ç¿ëÀÚ ÇÑ ¸íÀÌ ³»°Ô ³¡³»ÁÖ´Â ¾ÆÀ̵ð¾î¸¦ ÁÖ¾úÀ¸¸ç ³»°¡ ÇؾßÇß´ø ÀÏÀº ±× Àǹ̸¦ ÀÌÇØÇÏ´Â °Í »ÓÀ̾ú´Ù.
11. ÁÁÀº ¾ÆÀ̵ð¾î¸¦ »ý°¢Çس»´Â °Í ´ÙÀ½À¸·Î Áß¿äÇÑ ÀÏÀº »ç¿ëÀÚµéÀÌ ¾Ë·ÁÁØ ÁÁÀº ¾ÆÀ̵ð¾î¸¦ ±ú´Ý´Â °ÍÀÌ´Ù. ¶§·Î´Â ÀÌÆíÀÌ ´õ ³ªÀ» ¼öµµ ÀÖ´Ù. (The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better )
Èï¹Ì·Ó°Ôµµ ¸¸ÀÏ ´ç½ÅÀÌ ¾ó¸¶³ª ´Ù¸¥»ç¶÷¿¡°Ô ºúÀ» ¸¹ÀÌ Áö°í ÀÖ´ÂÁö¸¦ Àڱ⠺ñÇ϶ó°í ´À²¸Áú Á¤µµ·Î±îÁö ¼ÖÁ÷ÇÏ°Ô Åоî³õ´Â´Ù¸é ´ë°³ÀÇ »ç¶÷µéÀº ´ç½ÅÀÌ È¥ÀÚ¼ °ÅÀÇ ¸ðµç ÀÏÀ» Çس»°í¼ õÀ缺¿¡ ´ëÇؼ °â¼ÕÇØ ÇÏ´Â °Íó·³ ´ëÇÑ´Ù´Â °ÍÀ» °ð¹Ù·Î ¾Ë°Ô µÉ °ÍÀÌ´Ù. ¸®´©½ºÀÇ °æ¿ì¸¦ º¸¶ó! (1997³â 8¿ù, Perl ÄÁÆÛ·±½º¿¡¼ ÀÌ ±ÛÀ» ¹ßÇ¥ÇÒ ¶§ ·¡¸® ¿ùÀÌ Ã¹ ¹ø° ÁÙ¿¡ ¾É¾Æ ÀÖ¾ú´Ù. ¹Ù·Î À ÁÙ¿¡ µµ´ÞÇßÀ» ¶§ ±×´Â ºÎÈï»ç¶óµµ µÈ °Íó·³ ¿ÜÃÆ´Ù. ``ÇüÁ¦¿©, À̾߱â ÇϽÿÀ, À̾߱⸦!'' ûÁßµé ¸ðµÎ°¡ ÀÌ°ÍÀÌ PerlÀ» ¸¸µç ·¡¸®¿¡°Ôµµ Àû¿ëµÈ´Ù´Â °ÍÀ» ¾Ë¾Ò±â ¶§¹®¿¡ ¿ôÀ½À» ÅͶ߷ȴÙ.)
¶È°°Àº Á¤½ÅÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦ ¸î ÁÖ ÁøÇàÇØ ³ª°¡ÀÚ ³ª´Â »ç¿ëÀÚµé »Ó ¾Æ´Ï¶ó À̾߱⸦ ÀüÇصéÀº ´Ù¸¥ »ç¶÷µé·ÎºÎÅÍ ºñ½ÁÇÑ Äª¼ÛÀ» ¹Þ±â ½ÃÀÛÇß´Ù. ³ª´Â ±×·± email Áß ¸î¸îÀ» µû·Î º¸°üÇØ µÎ¾ú´Ù. ³ªÁß¿¡ ³» »îÀÌ °¡Ä¡ÀÖ´Â °ÍÀ̾ú´ÂÁö Àǽɽº·¯¿öÁú ¶§ ±× ¸ÞÀϵéÀ» ´Ù½Ã ²¨³»º¼ »ý°¢ÀÌ´Ù. :-)
¸ðµç Á¾·ùÀÇ ¼³°è¿¡ ´ëÇؼ Àû¿ëµÉ ¼ö ÀÖ´Â µÎ°¡Áö ´õ ±âº»ÀûÀÌ¸ç ºñÁ¤Ä¡ÀûÀÎ ±³ÈÆÀÌ ÀÖ´Ù.
12. Á¾Á¾ °¡Àå Ãæ°ÝÀûÀÌ°í Çõ½ÅÀûÀÎ ÇØ°áÃ¥Àº ´ç½Å ÀÚ½ÅÀÌ ¹®Á¦¿¡ ´ëÇؼ °¡Áö°í ÀÖ´Â °³³äÀÌ À߸øµÇ¾î ÀÖ´Ù´Â °ÍÀ» ±ú´Ý´Â °Í¿¡¼ ³ª¿Â´Ù. (Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong)
³ª´Â popclient¸¦ MTA/MDA ±â´ÉÀ» ´Ù °®Ãß°í º¹ÀâÇÑ Áö¿ª¹è´Þ¸ðµåµé±îÁö (local delivery modes) °®Ãá °ÍÀ¸·Î °³¹ßÇØ ³ª°¡¸é¼ Ʋ¸° ¹®Á¦¸¦ Ç®·Á°í ³ë·ÂÇÏ°í ÀÖ¾ú´Ù. fetchmail ÀÇ ¼³°è´Â °¡Àå ±âÃÊÀûÀÎ °ÍºÎÅÍ Àç°íÇÏ¿© SMTP Æ÷Æ®·Î ¸ÞÀÏÀ» ¹è´ÞÇÏ´Â ÀÎÅÍ³Ý ¸ÞÀÏ °æ·ÎÀÇ ÇÑ ºÎºÐÀÎ ¼ø¼ö MTA °¡ µÇ¾î¾ß Çß´Ù.
°³¹ß µµÁß¿¡ º®¿¡ ºÎµúÄ£´Ù¸é - ´ÙÀ½¹ø ÆÐÄ¡ ÈÄ¿¡ ¹«¾ùÀ» ÇØ¾ß ÇÒ Áö ¸ð¸£°Ú´Ù¸é - ±×¶§´Â Á¤´äÀ» °¡Áö°í ÀÖ´ÂÁö »ý°¢ÇÒ °ÍÀÌ ¾Æ´Ï¶ó Áú¹®ÀÌ ¿Ã¹Ù¸¥ °ÍÀÎÁö Àǹ®À» °¡Á®º¸¾Æ¾ß ÇÏ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ´Ù. ¾Æ¸¶µµ ¹®Á¦ÀÇ Æ²À» ´Ù½Ã Àâ¾Æ¾ß ÇÒ °ÍÀÌ´Ù.
±×·¡¼, ³ªµµ ³» ¹®Á¦ÀÇ Æ²À» ´Ù½Ã Àâ¾Ò´Ù. ºÐ¸íÈ÷ Á¦´ë·Î ÀÏÀ» ÁøÇàÇÏ·Á¸é (1) SMTP Æ÷¿öµù Áö¿ø ±â´ÉÀ» ÀÏ¹Ý µå¶óÀ̹ö¿¡ Æ÷ÇÔ½ÃÅ°°í, (2) SMTP Æ÷¿öµùÀ» ±âº»¸ðµå·Î ¸¸µé°í (3) ÃÖÁ¾ÀûÀ¸·Î´Â ´Ù¸¥ ¹è´Þ¸ðµåµé, ƯÈ÷ `ÆÄÀÏ·Î ¹è´ÞÇϱâ' ¿Í `Ç¥ÁØÃâ·ÂÀ¸·Î ¹è´ÞÇϱâ'¸¦ Á¦°ÅÇØ¾ß Çß´Ù.
³ª´Â ´Ü°è (3)¿¡¼ Á¶±Ý ¸Ó¹µ°Å·È´Âµ¥, ÀÌÀ¯´Â ¿À·§µ¿¾È popclient ¸¦ ½á¿À¸é¼ ´Ù¸¥ ¹è´Þ¸ðµå¿¡ ÀÇÁ¸ÇÏ°í ÀÖÀ» »ç¿ëÀÚµéÀÇ ½É±â¸¦ ºÒÆíÇÏ°Ô ¸¸µé°í ½ÍÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ÀÌ·ÐÀûÀ¸·Î´Â ±×µé ¸ðµÎ Áï½Ã .forward ÆÄÀÏÀ̳ª sendmail ¿ÜÀÇ ºñ½ÁÇÑ ÇÁ·Î±×·¥À¸·Î ÀüȯÇÏ¿© µ¿ÀÏÇÑ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ¾ú´Ù. ½ÇÁ¦·Î´Â Àüȯ ÀÚü°¡ Å« ÀÏÀÌ µÉ °ÍÀ̾ú´Ù.
ÇÏÁö¸¸ ´Ü°è (3)À» ½ÇÇàÇÏ°í ³ªÀÚ ÀÌÁ¡ÀÌ ¸Å¿ì Å« °ÍÀ¸·Î ³ªÅ¸³µ´Ù. µå¶óÀ̹ö ÄÚµå Áß °¡Àå Èûµç ºÎºÐÀÌ »ç¶óÁ³´Ù. ¼³Á¤ÀÌ ¾öû³ª°Ô °£´ÜÇØÁ³´Ù - ½Ã½ºÅÛÀÇ MDA ¿Í »ç¿ëÀÚÀÇ ¸ÞÀϹڽº¸¦ ÀÏÀÏÀÌ Ã£¾Æ´Ù´Ï¸ç ±Á½Ç°Å¸± ÇÊ¿äµµ ¾ø¾îÁ³°í, OS °¡ ÆÄÀÏ Àá±ÝÀ» Áö¿øÇÏ´ÂÁö °ÆÁ¤ÇÒ ÇÊ¿äµµ ¾ø¾îÁ³´Ù.
°Ô´Ù°¡ ¸ÞÀÏÀ» ÀÒ¾î¹ö¸± ÇÑ°¡Áö °¡´É¼ºµµ »ç¶óÁ³´Ù. `ÆÄÀÏ·Î ¹è´ÞÇϱâ'¸¦ ¼±ÅÃÇßÀ» ¶§ µð½ºÅ©°¡ ²Ë Â÷ ÀÖÀ¸¸é ¸ÞÀÏÀÌ »ç¶óÁ® ¹ö·È´ø °ÍÀÌ´Ù. SMTP Æ÷¿öµù¿¡¼´Â SMTP ¸®½º³Ê°¡ ¸Þ½ÃÁö ¹è´ÞÀÌ °¡´ÉÇϰųª ³ªÁß¿¡ ¹è´ÞÇÒ ¼ö ÀÖµµ·Ï ½ºÇ®ÇØ ³õ±â Àü¿¡´Â OK¸¦ µ¹·ÁÁÖÁö ¾ÊÀ» °ÍÀ̱⠶§¹®¿¡ ÀÌ·± ÀÏÀÌ ÀϾ ¼ö°¡ ¾ø´Ù.
¼º´Éµµ Çâ»óµÇ¾ú´Ù(Çѵιø ½ÇÇà½ÃÄѼ´Â ´À³¢Áö ¸øÇÏ°ÚÁö¸¸). ¶Ç º¯°æ¿¡ µû¸£´Â ±×´ÙÁö Áß¿äÇÏÁö ¾ÊÀº ÀÌÀÍÀ̶ó¸é ¸Å´º¾ó ÆäÀÌÁö°¡ ÈξÀ °£´ÜÇØ Á³´Ù´Â °ÍÀÌ´Ù. ³ªÁß¿¡ ³ª´Â »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ Áö¿ª MDA¸¦ ÅëÇØ ¹è´ÞÇÏ´Â ±â´ÉÀ» ´Ù½Ã ³Ö¾î¾ß Çß´Ù. µ¿ÀûÀÎ SLIP¸¦ Æ÷ÇÔÇÏ¿© ¸î¸î ¾Ö¸ÅÇÑ »óȲÀ» ´Ù·ç¾î¾ß Ç߱⠶§¹®ÀÌ´Ù. ÇÏÁö¸¸ óÀ½º¸´Ù ÈξÀ °£´ÜÇÑ ¹æ¹ýÀ» ã¾Æ³¾ ¼ö ÀÖ¾ú´Ù.
±³ÈÆÀ̶ó¸é? ³°¾Æ¼ »ç¿ëÇÒ ¼ö ¾ø´Â ±â´ÉÀ̶ó¸é È¿À²À» ¶³¾î¶ß¸®Áö ¾Ê°í Á¦°ÅÇÒ ¼ö ÀÖÀ» ¶§´Â ¸Á¼³ÀÌÁö ¸»°í Á¦°ÅÇØ ¹ö¸®¶ó. ¾Ó¶ß¿Ï µå »ý¶½Á㻾¸®´Â (¾Æµ¿¼Àû ÀÛ°¡¿´À¸¸ç ³²´Â ½Ã°£¿¡´Â ºñÇà±â Á¶Á¾°ú ¼³°è¸¦ Çß´ø) ÀÌ·¸°Ô ¸»Çß´Ù.
13. ``(¼³°è¿¡ ÀÖ¾î¼) ¿Ïº®ÇÔÀ̶õ ´õ ÀÌ»ó Ãß°¡ÇÒ °ÍÀÌ ¾øÀ» ¶§ ÀÌ·ç¾îÁö´Â °ÍÀÌ ¾Æ´Ï¶ó ´õ ÀÌ»ó ¹ö¸± °ÍÀÌ ¾øÀ» ¶§ ÀÌ·ç¾îÁø´Ù. (Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away)''
Äڵ尡 ´õ ³ª¾ÆÁö°í °£´ÜÇØÁö°í ÀÖÀ» ¶§°¡ ¹Ù·Î ÀÏÀÌ Á¦´ë·Î µÇ¾î°¡°í ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ´Â ¶§´Ù. ±×¸®°í ±× °úÁ¤¿¡¼ fetchmail ÀÇ ¼³°è´Â ±× Á¶»ó°ÝÀÎ popclient ¿Í ´Ù¸¥, ÀڽŸ¸ÀÇ Á¤Ã¼¼ºÀ» ȹµæÇß´Ù. À̸§À» ¹Ù²Ü ¶§°¡ µÈ °ÍÀÌ´Ù. »õ·Î¿î ¼³°è´Â ¿¹ÀüÀÇ popclient º¸´Ù´Â sendmail °ú ºñ½ÁÇØ º¸¿´´Ù. µÑ´Ù MTA ¿´À¸³ª sendmail Àº Ǫ½Ã(push) ÈÄ¿¡ ¸ÞÀÏÀ» ¹è´ÞÇß°í »õ·Î¿î popclient ´Â Ç®(pull) ÈÄ¿¡ ¸ÞÀÏÀ» ¹è´ÞÇß´Ù. Çؼ µÎ ´Þ ÈÄ¿¡ ³ª´Â popclient ÀÇ À̸§À» fetchmail ·Î º¯°æÇß´Ù.