ÀÌ ¹®¼­´Â ÇÑ±Û sendmailÀÌ ¾ø´Â °÷¿¡¼­ elmÀ» ¾²´Â À̵éÀÌ 'hmconv'(KSC 5601<->ISO-2022-KR ÄÚµå º¯È¯ ÇÁ·Î±×·¥)¸¦ ½á¼­ RFC 1557À» µû¸£´Â ÇÑ±Û ¸ÞÀÏ ±³È¯À» Æí¸®ÇÏ°Ô ÇÏ´Â ¹æ¹ýÀ» ±â¼úÇÕ´Ï´Ù. 1. home directoryÀÇ .elm/elmrc¸¦ ÆíÁýÇØ¼­ ´ÙÀ½°ú °°Àº °ªÀ» ¼³Á¤ÇÕ´Ï´Ù. a. pager = mpager mpager´Â ¾Æ·¡¿Í °°Àº shellscript·Î ½ÇÇà°¡´ÉÇÏ°Ô ¹Ù²ãÁÖ°í, path¿¡ ¼ÓÇÏ´Â µð·ºÅ丮 Áß ÇÑ °÷¿¡ µÓ´Ï´Ù. ÀÌ pager´Â MIME ±â´ÉÀÌ ¾ø´Â elmÀ̳ª MIME ±â´ÉÀÌ ÀÖ´Â elm¿¡ ÀÇÇØ¼­ MIME mail·Î ÀνĵÇÁö ¾Ê´Â mail(Content-Type:ÀÌ 'text'³ª 'text/plain'À¸·Î¸¸ µÇ¾î Àְųª, charsetÀÌ .elm/elmrc¿¡¼­ Á¤ÀÇÇÑ charset°ú °°°Å³ª(displaycharsetÀÌ Á¤ÀǵÇÁö ¾ÊÀº °æ¿ì), displaycharset°ú °°Àº °æ¿ì)À» displayÇÒ ¶§ ¾²´Â pagerÀÔ´Ï´Ù. ------------ #!/bin/sh hmconv -u | less -r ---------- ÀÌ °æ¿ì, MIME mailÀÌ ¾Æ´Ñ °ÍÀ¸·Î 󸮵ǹǷÎ, headerÀÇ ÇѱÛÀÌ µðÄÚµåµÇÁö ¾Ê½À´Ï´Ù. Çì´õÀÇ ÇѱÛÀ» µðÄÚµåÇϱâ À§Çؼ­´Â mpager¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù½Ê½Ã¿À. ´Ü, hcodeÀÇ ¾ÆÁ÷ °íÃÄÁöÁö ¾ÊÀº ¹ö±×¶§¹®¿¡ ÇÑ±Û MS-Exchange·ÎºÎÅÍ ¿Â ¸ÞÀÏÀº ¾ÕÀÇ ¸î ±ÛÀÚ°¡ ±úÁú ¼ö ÀÖ½À´Ï´Ù. ------------ #!/bin/sh hcode -dk | less -r ---------- MIME ±â´ÉÀÌ ¾ø´Â elm »ç¿ëÀÚ´Â - Áï, base64, qp µîµµ ÀüÇô ´Ù·ê ¼ö ¾ø´Â °æ¿ì- base64, QP, ¤iso-2022-krÀ» ÀÚµ¿À¸·Î ÀνÄÇØ º¯È¯ÇØ ÁÖ´Â hdcod¸¦ ¾²µµ·Ï ´ÙÀ½°ú °°ÀÌ mpager¸¦ Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ------------ #!/bin/sh hdcod | less -r ---------- b. editor = hmailedit hmailedit´Â 4.¿¡¼­ ¼³¸íÇÑ script·Î ½ÇÇà°¡´ÉÇÏ°Ô ¹Ù²ãÁÖ°í path¿¡ ÀÖ´Â µð·ºÅ丮 Áß ÇѰ÷¿¡ µÓ´Ï´Ù. c. builtinlines = 0 À̰ÍÀº ¸ÞÀÏÀÇ ±æÀÌ¿¡ °ü°è¾øÀÌ ¹«Á¶°Ç a.¿¡¼­ Á¤ÀÇÇÑ external pager¸¦ ºÎ¸£¶ó´Â ¶æÀÔ´Ï´Ù. d. .cshrc/.tcshrc³ª .bashrc(¶Ç´Â kshÀ̶ó¸é ENV µî¿¡ ÁöÁ¤µÈ ÆÄÀÏ) µîÀÇ shell startupÆÄÀÏ¿¡¼­ stty¿Í °°Àº ¸í·ÉÀº non-interactive shellÀÏ °æ¿ì¿¡´Â ½ÇÇàµÇÁö ¾Êµµ·Ï ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. e. ISO-2022-KR·Î ÀúÀåµÈ ÆÄÀÏÀÇ Àμ⸦ À§ÇØ ´ÙÀ½°ú °°ÀÌ printer¸¦ Á¤ÀÇÇϽʽÿÀ. ¾Æ·¡¿¡¼­ 'your_print_command'´Â ÇѱÛÀ» ÂïÀ» ¼ö ÀÖ´Â ÇÁ¸°Æ® ¸í·É(¿¹¸¦ µé¾î 'hpscat')À̾î¾ß ÇÕ´Ï´Ù. printer = hmconv -u %s | your_print_command 2. MIME ±â´ÉÀÌ ÄÄÆÄÀϽÿ¡ µé¾î°£ elmÀ̶ó¸é ´ÙÀ½À» ¼³Á¤ÇÕ´Ï´Ù. (~/.elm/elmrc¿¡¼­ ) charset=ISO-2022-KR ¶Ç, ´ÙÀ½µµ ¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº iso-2022-kr,euc-kr,iso-8859-1µîÀ¸·Î charsetÀÌ ¼³Á¤µÈ mailÀÌ ¸ðµÎ MIMEÀ¸·Î ÀνĵǾî 3¿¡¼­ ¼³Á¤ÇÑ ~/.mailcap entries¿¡ ÀÇÇØ 󸮵ǵµ·Ï Çϱ⠤ÔÀ§ÇÑ °ÍÀÔ´Ï´Ù. displaycharset=US-ASCII 3. a. ¿ª½Ã MIME ±â´ÉÀÌ µé¾î°£ elmÀ̶ó¸é(metamailÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù), 1¿¡¼­ pager¸¦ ¼³Á¤ÇÏ´Â °Í°ú ***ÇÔ°Ô **** .mailcap¿¡ ¾Æ·¡¿¡ º¸ÀÎ ¼¼ ÁÙµµ ³ÖÀ¸½Ê½Ã¿À. iso-8859-1À» ³ÖÀº °ÍÀº Eudora³ª Netscape·Î º¸³½ ¸ÞÀÏÀÌ ÇÑ±Û sendmailÀ» °ÅÄ¡¸é¼­ charsetÀÌ iso-2022-kr·Î ¹Ù²îÁö ¾Ê°í, netscape/eudora¿¡¼­ À߸ø ³Ñ¾î¿Â iso-8859-1·Î ³²¾Æ ÀÖ´Â °æ¿ì¸¦ system-wide default mailcap¿¡¼­ shownonascii¸¦ È£ÃâÇÏ´Â ´ë½Å ÇÑ±Û ¸ÞÀÏ ÄÚµå º¯È¯±â¸¦ ºÒ·¯¼­ µðÄÚµåµÇµµ·Ï Çϱâ À§ÇÔÀÔ´Ï´Ù. euc-krµµ ºñ½ÁÇÑ ÀÌÀ¯·Î µé¾î°¡ ÀÖ½À´Ï´Ù. MIME-Version: 1.0À̶õ Çì´õ°¡ ÀÖ°í charsetÀÌ 2¿¡¼­ ¼³Á¤ÇÑ displaycharset(=US-ASCII)¿Í ´Ù¸¥ ¸ÞÀÏÀº metamailÀ» ÅüÇØ 󸮵˴ϴÙ. metamailÀº À̶§ ¾Æ·¡ÀÇ ¼¼ÁÙÀ» Âü°íÇÕ´Ï´Ù. 1ÀÇ a³ª d¿¡¼­Ã³·³ pager¸¦ ¼³Á¤ÇÏÁö ¾Ê°í, mailcap¸¸ Á¤ÀÇÇÒ ¶§ÀÇ ¹®Á¦Á¡Àº MIME-header°¡ À߸ø ¼³Á¤µÇ¾ú°Å³ª µé¾îÀÖÁö ¾ÊÀº ä ¹è´ÞµÈ ISO-2022-KR·Î ÀÎÄÚµåµÈ ÇÑ±Û ¸ÞÀÏÀÇ °æ¿ì¿¡´Â decoder°¡ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù´Âµ¥ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì¸¦ À§Çؼ­ 1¿¡¼­ ¼³¸íÇÑ pager¿Í ¾Æ·¡ÀÇ mailcapÀ» ²À **°°ÀÌ** ¼³Á¤ÇϽʽÿÀ. ÀÌ·¸°Ô Çϸé, Çì´õ Á¤º¸°¡ À߸øµÈ ¸ÞÀÏÀº 1ÀÇ pager¿¡ ÀÇÇØ µðÄÚµåµÇ¾î¼­ º¸À̰í, Çì´õ ¼³Á¤ÀÌ Á¦´ë·Î µÇ¾î MIME mail·Î ÀνÄÀÌ µÇ¸é, ¾Æ·¡ÀÇ mailcap¼³Á¤¿¡ ÀÇÇØ µðÄÚµåµÇ¾î º¸ÀÔ´Ï´Ù. ---------- text/plain; hmconv -u %s | more ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-2022-kr text/plain; hmconv -u %s | more ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = euc-kr text/plain; hmconv -u %s | more ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-8859-1 ------------- "hmconv -u %s | more"¸¦ "mpager %s"(1ÀÇ a¿¡ º¸ÀÎ script)·Î ¹Ù²ãµµ »ó°ü¾ø½À´Ï´Ù. ¶Ç´Â ´ÙÀ½°ú °°Àº ÁÙÀ» ´ë½Å °¢°¢ÀÇ charset¿¡(euc-kr,iso-2022-kr,iso-8859-1) ´ëÇØ ³Ö¾îµµ È¿°ú´Â °°½À´Ï´Ù. text/plain; hmconv -u %s ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-2022-kr; copiousoutput b. À§ÀÇ .mailcapÀÇ ¼¼ ÁÙ´ë½Å ~/.mailcapÀÇ ¼±µÎ¿¡ ´ÙÀ½°ú °°ÀÌ ÇÑ ÁÙ¸¸ ³Ö¾î µÎ°í, ȯ°æ º¯¼ö METAMAIL_PAGER¸¦ 'mpager'·Î ¼³Á¤ÇÏ´Â ¼öµµ ÀÖ½À´Ï´Ù. ---------- text/plain; cat %s; copiousoutput --------- csh/tcshÀ̶ó¸é , .cshrc,/.tcshrc¿¡ ´ÙÀ½ ÁÙÀ» ³ÖÀ¸½Ê½Ã¿À. setenv METAMAIL_PAGER mpager sh/ksh/bashÀ̶ó¸é, ~/.profile¿¡ ´ÙÀ½ ÁÙÀ» ³ÖÀ¸½Ê½Ã¿À. METAMAIL_PAGER=mpager; export METAMAIL_PAGER 4. À§¿¡¼­ ¾ð±ÞÇÑ hmailedit¶õ script¸¦ ¾Æ·¡Ã³·³ ¸¸µé°í, 'chmod +x hmailedit'ÇØ¼­ ½ÇÇà°¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ¹°·Ð, ÀÚ½ÅÀÇ ½ÇÇàÆÄÀÏ ¼­Ä¡ ÆÐ½º¿¡ ¿Å°ÜµÎ´Â °Íµµ ÀØÁö ¸¶½Ê½Ã¿À.±×¸®°í, 1¿¡¼­ ÇÑ °Íó·³ elmrc¿¡¼­ editor¸¦ ¹Ù²Ù´Â °Íµµ ÀØÁö ¸¶½Ê½Ã¿À. ¾Æ·¡ script¿¡¼­ hvi´ë½Å ÀÚ½ÅÀÌ ¿øÇÏ´Â ´Ù¸¥ ÇѱÛÀÌ °¡´ÉÇÑ ÆíÁý±â¸¦ ½áµµ µË´Ï´Ù. pico¶ó¸é 'pico -t'·Î '-t'¿É¼ÇÀ» ÁֽʽÿÀ. emacs,hanemacs,muleÀ̶ó¸é, '-nw'(no window) ¿É¼ÇÀ» ÁÖ´Â °ÍÀ» °í·ÁÇØ º¸½Ê½Ã¿À. iso2022-krÀÌ ¾Æ´Ï¸é ÀÌ º¯È¯±âµéÀº ¾Æ¹«·± Àϵµ ÇÏÁö ¾ÊÀ¸¹Ç·Î, hmailedit¸¦ ¿µ¹® ÆíÁö ÀÛ¼º¿¡ ½áµµ »ó°ü¾ø½À´Ï´Ù. -------- hmaileditÀÇ ³»¿ë ---------------- #!/bin/sh new=/tmp/$$.`basename $1` trap 'rm -f /tmp/$$.*; exit 1' 1 2 15 hmconv -u $1 $new hvi $new if test -r $new ; then hmconv $new $1 fi /bin/rm $new --------------------- 5. pager¿Í mailcapÀ» ¼³Á¤ÇÏ´Â ´ë½Å, ISO-2022-KR·Î µé¾î¿À´Â ¸ÞÀÏÀ» ÀÚµ¿À¸·Î KSC 5601·Î ¹Ù²ã¼­ ÀúÀåÇÏ°Ô ÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. (ÇÑ±Û sendmailÀÌ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê´õ¶óµµ). ÀÚ½ÅÀÇ HOME µð·ºÅ丮¿¡ .forward¸¦ ¸¸µé°í ±× ³»¿ëÀ» ¾Æ·¡¿Í °°ÀÌ ÇϽʽÿÀ. ¿©±â¼­´Â Á¦°¡ °íÄ£ hcode°¡ ÇÊ¿äÇÕ´Ï´Ù. À̰ÍÀº Àß ÀÛµ¿ÇÏÁö ¾ÊÀ» ¼öµµ ÀÖÀ¸´Ï, ±ØµµÀÇ ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº Á¦ ÇÑ±Û FAQ Subject 9¸¦ º¸½Ê½Ã¿À. /full/path/yourmailbox´Â ÀÚ½ÅÀÇ incoming mailÀÌ ÀúÀåµÇ´Â °÷ÀÔ´Ï´Ù. BSD °è¿­¿¡¼­´Â ´ë°³ /usr/spool/mail/login-nameÀ̰í, SYS V°è¿­¿¡¼­´Â /var/mail/login-nameÀÔ´Ï´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹°¾î¼­ È®ÀÎÇϽô °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. "| /full/path/hcode -dk | cat >> /full/path/yourmailbox" À§ÀÇ °ÍÀ» µÎ±â Àü¿¡ ´ÙÀ½°ú °°Àº ÁÙÀ» ³Ö¾î¼­ °°Àº ÆíÁö°¡ ÇÑÅëÀº iso-2022-kr·Î ÇÑÅë´Â ksc 5601·Î ¿À´ÂÁö È®ÀÎÇØ º»´ÙÀ½¿¡ À§ÀÇ ÁÙÀ» ¾²½Ã´Â °ÍÀ» ±ÇÇÕ´Ï´Ù. \your-user-id, "| /full/path/hcode -dk | cat >> /full/path/yourmailbox" 6. ÇÑ±Û patchµÈ elmÀ» ¾²Áö ¾Ê´Â´Ù¸é, Subject¿¡ ÇѱÛÀ» ÀÔ·ÂÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÇÑ±Û patchµÈ elmÀ̶ó°í ÇÏ´õ¶óµµ, ÇÑ±Û Sendmail°ú °°ÀÌ ¾²°ÔµÈ ¹öÀüÀº(elm2.4pl2?h4) KSC 5601À» ¾Æ¹«·± ÀÎÄÚµù ¾øÀÌ MTA(sendmail)¿¡ ³Ñ°ÜÁֹǷΠÇÑ±Û sendmailÀÌ ¼³Ä¡µÇÁö ¾ÊÀº °æ¿ì¿¡´Â Á¦¸ñÀÇ ÇѱÛÀÌ ±úÁöÁö ¾Ê°í Àü´ÞµÈ´Ù´Â º¸ÀåÀÌ ¾ø½À´Ï´Ù. µû¶ó¼­, ÇÑ±Û sendmailÀÌ ¼³Ä¡µÇÁö ¾ÊÀº °÷¿¡¼­ elmÀ» ¾²½Ã´Â ºÐµéÀº Á¦¸ñ¿¡´Â ÇѱÛÀ» ¾²Áö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ±»ÀÌ ¾²°í ½ÍÀ¸½Ã´Ù¸é, mmencode¸¦ ½á¼­ Á¦¸ñ¿¡ ¾²°íÀÚ ÇÏ´Â ÇѱÛÀÇ base64 encodingÀ» ¾Ë¾Æ³»¼Å¼­ ¾Æ·¡Ã³·³ "=?EUC-KR?B?"°ú "?="»çÀÌ¿¡ ³¢¿ö ³ÖÀ¸½Ê½Ã¿À. =?EUC-KR?B?b_encoded_hangul?= ½ÅÁ¤½Ä (jshin@pantheon.cis.yale.edu) Âü°í ¹®ÇåÀÇ À§Ä¡´Â README¸¦ º¸½Ê½Ã¿À.