¸ÞÀÏ¿¡¼ »ç¿ëµÇ´Â SMTPÇÁ·ÎÅäÄÝÀº ±âº»ÀûÀ¸·Î 7bit¹®ÀÚ¸¸À» ±â¹ÝÀ¸·Î Á¦À۵Ǿú½À´Ï´Ù. ÇÏÁö¸¸ ÇѱÛÀÇ °æ¿ì EUC-KR·Î Ç¥ÇöÇϸé 8bit¸¦ »ç¿ëÇϱ⠶§¹®¿¡ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ ¸ÞÀÏ¿¡¼ »ç¿ëÇϱâ À§ÇØ ÇѱÛÀÇ 7bit Ç¥Çö¹æ¹ýÀÎ ISO-2022-kr(RFC 1557)ÀÌ ¸¸µé¾î Á³°í ¸ÞÀÏÀÇ º»¹®¿¡ »ç¿ëµÇ¾ú½À´Ï´Ù(Çì´õ¿¡´Â EUC-KRÀ» B³ª QÀÎÄÚµù ¹æ¹ýÀ¸·Î ÀÎÄÚµùÇؼ »ç¿ëÇß½À´Ï´Ù.). ÇÏÁö¸¸ ´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡¼´Â ÇѱÛÀ» 8bitÇ¥Çö¹æ¹ýÀÎ EUC-KRÀ» »ç¿ëÇßÀ¸¹Ç·Î ÀÌ µÎ Ç¥Çö°£ÀÇ º¯È¯À» ÇØ ÁÖ´Â ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇß½À´Ï´Ù. ÀÌ ÀÛ¾÷Àº Å©°Ô MTA, MDA, MUA¿¡¼ ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù. MTA¿¡¼ º¯È¯À» ÇØ ÁÖ´Â ´ëÇ¥ÀûÀÎ ÇÁ·Î±×·¥ÀÌ sendmail 8.6.12h2ÀÔ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¥À¸·ÎºÎÅÍ 8bitÇ¥ÇöÀ» ÀÔ·ÂÀ¸·Î ¹Þ¾Æ¼ ´Ù¸¥ °÷À¸·Î Àü¼ÛÇÒ¶§ ISO-2022-kr·Î º¯È¯ÇÑ ÈÄ Àü¼ÛÀ» ÇÏ°í, ³×Æ®¿÷À» ÅëÇØ ¹ÞÀº ISO-2022-kr·Î Ç¥ÇöµÈ ¸ÞÀÏÀ» EUC-KR·Î º¯È¯ ÈÄ ¸ÞÀϹڽº¿¡ ÀúÀåÇϵµ·Ï ¸¸µé¾î Á³½À´Ï´Ù. ±×·¡¼ ¸î³âÀü±îÁö¸¸ Çصµ ´ëºÎºÐÀÇ ¸ÞÀϼ¹ö¿¡¼ sendmail 8.6.12h2¸¦ »ç¿ëÇß¾ú½À´Ï´Ù.
ÇÏÁö¸¸ SMTP ÇÁ·ÎÅäÄÝÀÌ 8bit¹®ÀÚ¸¦ Áö¿øÇÏ´Â ESMTP ÇÁ·ÎÅäÄÝ·Î º¯ÇÏ¸é¼ º»¹®¿¡¼µµ ISO-2022-kr´ë½Å¿¡ EUC-KRÀ» »ç¿ëÇϵµ·Ï Ç¥ÁØÀÌ ¹Ù²î¾ú½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ ¾ÈÀ» Á¤½Ä Ç¥ÁØÀ¸·Î °øÇ¥ÇÏÁö ¾Ê¾Ò°í, ¾ÆÁ÷±îÁö ÀÎÅͳݿ¡´Â ISO-2022-kr ·Î Ç¥ÇöµÈ ¸ÞÀÏÀÌ µ¹¾Æ´Ù´Ï±â ¶§¹®¿¡ ÀÌ ¸ÞÀÏÀ» EUC-KR·Î º¯È¯ÇØ ÁÖ´Â ÀÛ¾÷ÀÌ Ãß°¡ÀûÀ¸·Î ÇÊ¿äÇÏ°Ô µÇ¾ú½À´Ï´Ù.
ISO-2022-krÀ» EUC-KR·Î º¯È¯ÇØ ÁÖ´Â ÇÁ·Î±×·¥µéÀº UNIXȯ°æ¿¡¼´Â ¸¹ÀÌ ¸¸µé¾î Á³½À´Ï´Ù. hconv¿Í hmconv°¡ ´ëÇ¥ÀûÀÎ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ÀÌÁ¦ °ü¸®ÀÚ°¡ ÇØ Áà¾ß ÇÏ´ÂÀÏÀº sendmailÀÌ ¹ÞÀº ¸ÞÀÏÀ» ¸ÞÀϹڽº·Î ÀúÀåÇϱâ Àü¿¡ ÀÌ ÇÁ·Î±×·¥À» Åë°úÇÏ°Ô ¸¸µé¾î¼ ISO-2022-krÀ» EUC-KR·Î º¯È¯¸¸ ÇØ ÁÖ¸é µÇ°Ô µÇ¾ú½À´Ï´Ù. ÀÌ·¸°Ô ÇÊÅ͸µÀ» °¡´ÉÇÏ°Ô ÇØ ÁÖ´Â ´ëÇ¥ÀûÀÎ ÇÁ·Î±×·¥ÀÌ procmailÀÔ´Ï´Ù.
¿©±â¿¡¼´Â procmailÀ» ÀÌ¿ëÇÏ¿© ÇÑ±Û ¸ÞÀÏÀ» ó¸®ÇÏ´Â °úÁ¤À» ¼³¸íµå¸®°Ú½À´Ï´Ù. ¿©±â¿¡¼ ¾Ë¾ÆµÎ¼Å¾ß ÇÒ ³»¿ëÁß¿¡ Áß¿äÇÑ ³»¿ëÀ¸·Î MDA¿¡ ´ëÇÑ ÀÌÇØÀÔ´Ï´Ù. MDA(Mail Delivery Agent)´Â MTA(Mail Transfer Agent, ´ëÇ¥ÀûÀÎ ¿¹´Â sendmailÀÔ´Ï´Ù.)°¡ ¹ÞÀº ¸ÞÀÏÀÇ ÃÖÁ¾ÀûÀÎ µµÂøÁö°¡ ÇöÀç È£½ºÆ®Àΰæ¿ì(sendmailÀÇ °æ¿ì sendmail.cw¸¦ Âü°íÇÏ¿© °áÁ¤ÇÕ´Ï´Ù.) ¸ÞÀÏÀ» MDA¿¡°Ô ³Ñ°ÜÁÝ´Ï´Ù. º¸Åë ½Ã½ºÅÛÀÇ ±âº»ÀûÀÎ MDA´Â /bin/mailÀÔ´Ï´Ù. procmailÀº /bin/mail´ë½Å¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À¸·Î ÇÊÅ͸µ ±â´ÉÀÌ °·ÂÇÏ¿© ÇѱÛ󸮿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶Ç À߸ø ÀÌÇØÇϽô ºÐµéÁß¿¡ procmailÀÚü°¡ ÇÑ±Û µðÄÚµùÀ» ÇØÁØ´Ù°í ¾Ë°í °è½ÅºÐµéÀÌ ¸¹½À´Ï´Ù. ÀÌ°ÍÀº À߸øµÈ °ÍÀÔ´Ï´Ù. ½ÇÀç·Î procmailµµ ÇÑ±Û µðÄÚµùÀ» À§ÇØ ´Ù¸¥ ÇÁ·Î±×·¥(º¸Åë hcode³ª hmconv¸¦ ÀÌ¿ëÇÕ´Ï´Ù.)À» ÀÌ¿ëÇÕ´Ï´Ù. procmailÀÌ ÇÏ´ÂÀÏÀº ´Ü¼øÈ÷ ¾î¶² Çì´õ°¡ ÀÖÀ»¶§ Àû´çÇÑ ÇÁ·Î±×·¥À» ºÒ·¯ ÇÑ±Û µðÄÚµùÀ» ÇØ ÁÝ´Ï´Ù.
µû¶ó¼ procmail»Ó¸¸ ¾Æ´Ï¶ó ÇÑ±Û µðÄÚµùÀ» À§ÇÑ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¼Å¾ß ÇÕ´Ï´Ù. ¿©±â¿¡¼´Â hcode¸¦ »ç¿ëÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
hcode´Â ftp://ftp.kaist.ac.kr/hangul/code/hcode/¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡Á®¿Â ÇÁ·Î±×·¥À» Àû´çÇÑ µð·ºÅ丮¿¡ Ç®°í ¼Ò½º µð·ºÅ丮¿¡¼ ´Ü¼øÈ÷ make¸¦ ÀÔ·ÂÇϸé ÄÄÆÄÀÏÀÌ ¿Ï·áµË´Ï´Ù. ÄÄÆÄÀÏ °á°ú·Î »ý±ä hcode¸¦ /usr/local/bin ¿¡ º¹»çÇØ µÓ´Ï´Ù.(´Ù¸¥ µð·ºÅ丮µµ »ó°ü¾ø½À´Ï´Ù.)
±×´ÙÀ½ procmailÀ» ¼³Ä¡ÇÕ´Ï´Ù. procmailÀº ´ëºÎºÐÀÇ ftp¼¹ö¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. (ÀúÀÇ °æ¿ì ftp://ftp.kreonet.re.kr/pub/tools/mail/procmail/¿¡¼ ±¸Çß½À´Ï´Ù.) ÇÁ·Î±×·¥À» ±¸ÇÑ ÈÄ µð·ºÅ丮¿¡¼ make¸¦ ÀÔ·ÂÇÑ ÈÄ ¸Þ½ÃÁö¿¡ ³ª¿Â´ë·Î ´ë´äÇÏ¸é ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸µé¾îÁø procmailÀ» ¿ª½Ã /usr/local/bin¿¡ ¼³Ä¡ÇÕ´Ï´Ù.
±×·±´ÙÀ½ /etc/procmailrc¸¦ ¾Æ·¡¿Í °°ÀÌ ¸¸µé¾î µÓ´Ï´Ù.
LOGFILE=/var/log/procmail VERBOSE=no PATH=/usr/local/bin:/usr/bin:/bin SHELL=/bin/sh :0 B *^.\$\)C { :0 fbw |hmconv -u :0 fhw * ^Content-Type: text/plain |formail -c -I "Content-Type: text/plain; charset=EUC-KR" -I \ "Content-Transfer-Encoding: 8bit" :0 Efhw * ^Content-Type: text/html |formail -c -I "Content-Type: text/html; charset=EUC-KR" -I \ "Content-Transfer-Encoding: 8bit" :0 Efhw * !^Content-Type: |formail -c -I "Content-Type: text/plain; charset=EUC-KR" -I \ "Content-Transfer-Encoding: 8bit" # Note that '-c' flag has been added to formail invocation. # It concatenates a header of multiple lines into a single line # so that a bug in 'hcode -dk -m' dealing with RFC 2047 encoded header # has less 'harmful' effect. :0 fhw | formail -A \ "X-Automatic-Korean-Mail-Conversion: iso-2022-kr to euc-kr" } DROPPRIVS=yes :0 fhw *Content-Type:.+; charset="?EUC-KR | formail -c | hcode -dk -m :0 Efhw *^(Subject|From|Cc):.*=\?EUC-KR\?(B|Q)\? | formail -c | hcode -dk -m
±×´ÙÀ½ sendmail¿¡¼ MDA·Î procmailÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï sendmail.cfÆÄÀÏÀ» ¼öÁ¤ÇØ Áà¾ß ÇÕ´Ï´Ù. sendmail.cfÆÄÀÏ¿¡¼ MlocalºÎºÐÀ» ã¾Æ¼ ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.
Mlocal, P=/usr/local/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u
ÇÏÁö¸¸ ÀÌ ¹æ¹ýº¸´Ù´Â mcÆÄÀÏ¿¡ FEATURE(local_procmail)À» Ãß°¡ÇÏ¿© sendmail.cf¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀÌ ÁÁ½À´Ï´Ù.
Á¦°¡ ¿©±â¿¡¼´Â °£´ÜÇÏ°Ô ¼³¸íÀ» µå·ÈÁö¸¸ Á»´õ ÀÚ¼¼ÇÑ ³»¿ëÀÌ ÇÊ¿äÇϽŠºÐÀº ½ÅÁ¤½Ä´ÔÀÇ Sendmail 8.8.x ÀÌÈÄ ÆÇ°ú ProcmailÀ» ÀÌ¿ëÇÑ ÇÑ±Û ¸ÞÀÏ Ã³¸®¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
ÀÌ ÀÛ¾÷ÀÌ ±ÍÂú°Ô ´À²¸Áö½Å´Ù¸é À§¿¡¼ ÇÏ´ÂÀÛ¾÷°ú µ¿ÀÏÇÑ ÀÏÀ» ÇÏ´Â ÇÑ±Û sendmailÀ» ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù. ÇÏÁö¸¸ ÇÑ±Û sendmailÀº ¿µ¹® sendmail¿¡ ºñÇØ ¹öÀüµµ ³·°í, ¶Ç´Ù¸¥ ¿À·ù°¡ »ý±æ È®·üÀÌ ³ô±â¶§¹®¿¡ À§ÀÇ ¹æ¹ýÀ» »ç¿ëÇϽñ⠹ٶø´Ï´Ù.