°Ô½ÃÆÇ ÁÖ¹®Á¶È¸ Àå¹Ù±¸´Ï ÀÌ¿ë¾È³»
±Û ³»¿ë º¸±â
41¹øÀÇ ´ä½Å±Û(43) À¥¸ÞÀÏ °­ÁÂ3
Á¶È¸¼ö : 234 ¸¶½ºÅ¸ ´ÔÀÌ 2001-08-21, 05:19:08 ÀÌ ÀÛ¼ºÇØÁÖ½É
 Á¤º¸´Â °øÀ¯ µÇ¾î¾ß Çϱ⿡ 
Á¦°¡ ¿î¿µÇÏ´Â www.ihelpers.co.kr¿¡ ÀÖ´Â °­Á¸¦ ÀÌ°÷¿¡ ¿Ã¸³´Ï´Ù. 

1. ¸ÞÀÏ È®ÀÎ
2. ¸ÞÀÏ Á¶È¸
3. ¸ÞÀÏ Áö¿ì±â
4. ¸ÞÀÏ º¸³»±â 

¼¼¹ø° °­Á ½Ã°£ÀÔ´Ï´Ù. ¿À´ÃÀº ¸ÞÀÏÀÇ ±¸Á¶¸¦ ¶â¾î º¸´Â ½Ã°£ÀÌ µÇ°Ú³×¿ä.
¸ÞÀÏÀÇ ±¸Á¶¸¦ ¼³¸íÇÏ´Â °Í¸¸ Çصµ ³Ê¹« ¸¹°í ¶Ç Àúµµ Àß ¸ð¸£±â¿¡... ±×³É °¡º±°Ô ¼³¸íÇÏ
¸é¼­ °­Á¸¦ ÁøÇàÇϵµ·Ï ÇÏÁÒ.

Àú¹øó·³ ¸ÕÀú °­Á¸¦ ÇÏ°í ¼Ò½º¸¦ ¼³¸íÇÏÁÒ...

mail_detail.php
----------------------------------------------------------------
<?
// ÇÊ¿äÇÑ ¼­ºê ÇÔ¼öÀÔ´Ï´Ù.. ¾Æ·¡ ¸ÞÀÎÀÇ ¼Ò½º¸¦ º¸½Ã°í ÀÌ ÇÔ¼ö ³»¿ëÀº ¸¶Áö¸·¿¡ º¸¼¼¿ä.
// ¸ÞÀÏÀÇ ±¸Á¶¸¦ ºÐ¼®ÇÏ´Â ÇÔ¼ö

function checkstruct($mailstream, $MSG_NO) {
  // ¸ÞÀÏ ±¸Á¶ ºÐ¼®
  $struct = imap_fetchstructure($mailstream, $MSG_NO);
  // ¸ÞÀÏÀÇ ±¸Á¶¸¦ °´Ã¼·Î ¸®ÅÏÇØ ÁÝ´Ï´Ù. ÀÎÀÚ´Â ¸ÞÀϽºÆ®¸²°ú ÇØ´ç ¸ÞÀϹøÈ£ÀÔ´Ï´Ù.

  $type = $struct->subtype; 
  /* 
  ¸ÞÀÏÀÇ Å¸ÀÔÀ» ¾ò½À´Ï´Ù. Å©°Ô PLAIN, MIXED, ALTERNATIVE, RELATED ÀÌ·¸°Ô ÀÖÀ¾
  ´Ï´Ù.. ( ´õ ÀÖ´ÂÁöµµ ¸ð¸£ÁÒ... ^ ^)
  PLAIN : ±×³É ÅؽºÆ® ¸ÞÀÏÀÌÁÒ.. ÀÌ°Ç ±×³É Ãâ·Â¸¸ ÇØÁÖ¸é µË´Ï´Ù.. 
  MIXED : ÷ºÎÆÄÀÏÀÌ ÀÖ´Â ¸ÞÀÏÀ̶õ °Çµ¥... ÀÌ°Ô °¡Àå º¹ÀâÇÏÁÒ.. ¾Æ·¡ switch¹®¿¡
          switch ¹®¿¡¼­ ¼³¸íÇÏÁÒ.
  ALTERNATIVE : HTML Çü½ÄÀ¸·Î ¸ÞÀÏÀ» º¸³»¸é ÀÌ°Ô µË´Ï´Ù.
  RELATED : HTML Çü½ÄÀ¸·Î º¸³¾¶§ º¸¸é ¸ÞÀϾȿ¡ À̹ÌÁö¸¦ »ðÀÔÇؼ­ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.
            ±× °æ¿ì¿¡ ÇØ´çµË´Ï´Ù.

  ¾Æ·¡¿¡¼­ ÀÚ¼¼È÷ º¸ÁÒ..
  */

  switch($type) {
  case "PLAIN": // ÀϹÝÅؽºÆ® ¸ÞÀÏ
    echo str_replace("\n", "<br>", 
        imap_fetchbody($mailstream, $MSG_NO, "1"));
    // ±×³É º»¹®À» ¾ò¾î¼­ Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù. 
    // º»¹®À» ¾ò´Â ¹æ¹ýÀº À§Ã³·³ imap_fetchbody ÇÔ¼ö¸¦ »ç¿ëÇϴµ¥.. ¿©±â¼­ ¼¼¹ø°
    // ÀÎÀÚ°¡ "1"   ÀÌ·¸°Ô µÇ¾î ÀÖÁÒ. ÀÌ°ÍÀº ¸ïÀÏÀÇ body°¡ boundary¶ó´Â °ÍÀ¸·Î ±¸ºÐ
    // µÇ¾î ¿©·¯°³°¡ ¿Ã ¼ö Àִµ¥ ±× Áß Ã¹¹ø° °ÍÀ̶õ °Ì´Ï´Ù.. ´ç¿¬ ÅؽºÆ® ¸ÞÀÏÀº
    // body°¡ Çϳª¹Û¿¡ ¾ø±â¿¡ ±×³É ¹«Á¶°Ç À§Ã³·³ ÇÏ¸é µË´Ï´Ù.
    break;
  case "MIXED": // ÷ºÎÆÄÀÏ ÀÖ´Â ¸ÞÀÏ
    /*
    ÀÌ°Ô Á» º¹ÀâÇÏÁÒ.   ¸ÕÀú À§¿¡¼­ ¸»Çßµí ÷ºÎÆÄÀÏÀÌ ÀÖ´Â °ÍÀº body°¡ ¿©·¯°³ÀÔ´Ï´Ù.
    Áï ÷ºÎÆÄÀÏÀÌ µÎ°³ÀÎ text ¸ÞÀÏÀÏ °æ¿ì body´Â ¼¼°³·Î ³ª´µÁÒ..
    ÀÌ ¼¼°³ÀÇ body¸¦ °¢°¢ Ç¥ÇöÇÏ´Â °ÍÀÌ µÇ°Ú½À´Ï´Ù.
    */
    for($i=0;$i<count($struct->parts);$i++) { 
      // parts¶ó´Â ¼Ó¼º¿¡´Â boundary·Î ±¸ºÐµÈ bodyÀÇ °³Ã¼µéÀÌ µé¾î °¡°Ô µË´Ï´Ù.
      // ÀÌ°ÍÀÇ °¹¼ö¸¦ ¾Ë¾Æ¼­ ·çÇÁ¸¦ µ¹¸®´Â °ÅÁÒ.

      $part = $struct->parts[$i];
      $param = $part->parameters[0];
      $file_name = Decode($param->value); 
      // ÷ºÎÆÄÀÏÀÏ °æ¿ì ÆÄÀϸí Decode ÇÔ¼ö´Â ¾îÁ¦ ¸»ÇÑ Á¦°¡ ¸¸µç °ÅÁÒ...
      $mime = $part->subtype; // MIME ŸÀÔ È¤Àº ¸ÞÀÏÀÇ Á¾·ù°¡ ¸®Åϵ˴ϴÙ.
      $encode = $part->encoding; // encoding

      /*
      ¾Æ·¡ ºÎºÐÀ» º¸¸é $mime À̶õ º¯¼ö¿¡ ALTERNATIVE ¶ó´Â °ÍÀÌ ¿Ã¼ö ÀÖ°Ô µÇ¾î
      ÀÖ½À´Ï´Ù.. Áï OUTLOOK¿¡¼­ HTML Çü½ÄÀ¸·Î ÷ºÎÆÄÀÏÀ» º¸³»¸é ´ë·«
      -¸Þ¼¼Áö 
      -÷ºÎÆÄÀÏ1
      -÷ºÎÆÄÀÏ2
      -÷ºÎÆÄÀÏ3
      ÀÌ·¸°Ô ³ª´µ°í ´Ù½Ã ¸Þ¼¼Áö´Â 
      ---PLAN
      ---HTML
      ÀÌ·¸°Ô ³ª´µ°Ô µË´Ï´Ù.. ÀÌ°æ¿ì ¸Þ¼¼Áö¿¡ ÇØ´çÇÏ´Â ºÎºÐÀÌ ALTERNATIVEÀÎ °ÅÁÒ..
      */
      if($mime == "ALTERNATIVE") {
        $val = imap_fetchbody($mailstream, $MSG_NO, (string)($numpart+1));
        // ÇØ´ç partÀÇ ¹øÈ£·Î body¿¡¼­ ±× ºÎºÐ¸¸ »©¿É´Ï´Ù. ±×¸®°ï ÀÌ°ÍÀ» 
        // È­¸é¿¡ Ãâ·ÂÇÏÁÒ.. ¾Æ·¡ ÇÔ¼ö·Î.. ÀÌ°ÍÀº Á¦°¡ ¸¸µç °Çµ¥.. ³ªÁß¿¡ ¼³¸íÇÏÁÒ.
        printOutLook($val);
      } else {
        printbody($mailstream, $MSG_NO, $i, $encode, $mime, $file_name);
        // ÷ºÎÆÄÀÏÀÏ °æ¿ì printbodyÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.. ÀÌ°Ç ¹Ù·Î ¹Ø¿¡ ÀÖ´Â ÇÔ¼öÀÎ
        // µ¥ °Å±â¼­ ¼³¸íÇÏÁÒ..
      }
    }
    break;
  case "ALTERNATIVE": // outlook html
    for($i=0;$i<count($struct->parts);$i++) {
      $part = $struct->parts[$i];
      $param = $part->parameters[0];
      $file_name = Decode($param->value); // ÷ºÎÆÄÀÏÀÏ °æ¿ì ÆÄÀϸí
      $mime = $part->subtype;
      $encode = $part->encoding;

      if($mime == "HTML") {
        printbody($mailstream, $MSG_NO, $i, $encode, $mime, $file_name);
      }
    }
    break;
  case "RELATED": // outlook º»¹®¿¡ À̹ÌÁö »ðÀÔ
    for($i=0;$i<count($struct->parts);$i++) {
      $part = $struct->parts[$i];
      $param = $part->parameters[0];
      $file_name = Decode($param->value); // ÷ºÎÆÄÀÏÀÏ °æ¿ì ÆÄÀϸí
      $mime = $part->subtype; // MIME ŸÀÔ
      $encode = $part->encoding; // encoding
      if($mime == "ALTERNATIVE") {
        $val = imap_fetchbody($mailstream, $MSG_NO, (string)($numpart+1));
        printOutLook($val);
      } else {
        printbody($mailstream, $MSG_NO, $i, $encode, $mime, $file_name);
      }
    }
    break;
  }
}

// ¸ÞÀÏ ³»¿ëÀ» Ãâ·ÂÇÏ´Â ÇÔ¼ö
function printbody($mailstream, $MSG_NO, $numpart, $encode, $mime, $file_name) {
  $val = imap_fetchbody($mailstream, $MSG_NO, (string)($numpart+1));
  // ¸ÕÀú ÇØ´ç partÀÇ º»¹®À» ¹Þ¾Æ ¿É´Ï´Ù.
  // ±×¸®°í ÀÎÀÚ°ªÀ¸·Î ³Ñ¾î¿Â $encode ¿¡ ÀÇÇØ ¸ÕÀú º»¹®À» decoding ÇØÁÝ´Ï´Ù.
  switch($encode) {
  case 0: // 7bit
  case 1: // 8bit
    $val = imap_base64(imap_binary(imap_qprint(imap_8bit($val))));
    break;
  case 2: // binary
    $val = imap_base64(imap_binary($val));
    break;
  case 3: // base64
    $val = imap_base64($val);
    break;
  case 4: // quoted-print
    $val = imap_base64(imap_binary(imap_qprint($val)));
    break;
  case 5: // other
    echo "¾Ë¼ö¾ø´Â Encoding ¹æ½Ä.";
    exit;
  }

  // mime type ¿¡ µû¶ó Ãâ·ÂÇÕ´Ï´Ù.
  switch($mime) {
  case "PLAIN":
    echo str_replace("\n", "<br>", $val);
    break;
  case "HTML":
    echo $val;
    break;
  default:
    // ÷ºÎÆÄÀÏÀÎ °æ¿ìÀ̹ǷΠ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ°Ô ¸µÅ©¸¦ °É¾î ÁÝ´Ï´Ù.
    echo "<br>÷ºÎ: <a href="mail_down.php?
      MSG_NO=" . $MSG_NO . "&PART_NO=
    " . $numpart . "" >" . $file_name . "</a>";
  }
}
// ----------------------
// ¸ÞÀÎ ½ÃÀÛ
// include ¼±¾ð
// ----------------------
include ("mail_lib.php"); // ¶óÀ̺귯¸® ÆÄÀÏ¿£ Áö³­¹ø °­Á¿¡ ÀÖ´ø Decode¶ó´Â ÇÔ¼ö°¡ ÀÖÁÒ.
?>
<html>
<body>
<?
$box = $BOX;  // ¸ÞÀÏ ¹Ú½º¸í
if($box == "") $box = "INBOX";
switch($box) {
case "INBOX":
  $box_name="¹ÞÀº ÆíÁöÇÔ";
  break;
case "sent":
  $box_name="º¸³½ ÆíÁöÇÔ";
  break;
}
?>
<body bgcolor="#FFFFFF" leftmargin=5 topmargin=20 marginwidth=5 marginheight=20>
<table width="610" border=0 bgcolor=#527900 cellpadding=4 cellspacing=0>
<tr>
  <td align=center width="25" bgcolor="#334600">
   <font face="Wingdings" size="4" color="#FFCC33">.</font></td>
  <td width=95%>
   <font size="3" color="#FFFFFF"><b>ÆíÁöÀбâ</b></font> 
  </td>
</tr>
</table>
<table width=610 border=0 cellpadding=4 cellspacing=0 bgcolor=#D8D8D8>
<tr> 
  <td class="tk1" width=40%></td>
  <td align="right" class="tk1" width=60%>
    <a href="mail_cmd.php?CMD=del&NO[]=<?echo $MSG_NO;?>">»èÁ¦</a>
  &nbsp;&nbsp;&nbsp;&nbsp;
    [<a href="mail_list.php?BOX=<?echo $box;?>">¸ñ·Ï</a>]
  </td>
</tr>
</table>
<?
$login = "userid";
$pass = "pwd";
$C_DOMAIN = "hagopa.co.kr";

$mailstream = imap_open("{" . $C_DOMAIN . ":143}" . $box, $login, $pass); 

if ($mailstream == 0) {
  echo "Error!
";
  exit;
}

// ¸ÞÀÏ Çì´õ ºÐ¼®
$head = imap_header($mailstream,$MSG_NO);
$head->Unseen = "U";

$date = date("Y³â m¿ù dÀÏ H½Ã iºÐ", $head->udate);
$subject = $head->Subject;
$subject = Decode($subject);
$from_obj = $head->from[0];
$from_name = $from_obj->personal;
$from_addr = substr($from_obj->mailbox . "@" . strtolower($from_obj->host), 0, 30);
if($from_name == "") $from_name = $from_addr;
$from_name = Decode($from_name);

// ¿©±â±îÁö´Â Áö³­¹ø °­Á¿¡¼­ ÇÑ °Í°ú µ¿ÀÏÇÏÁÒ.. ¼³¸í ¾ÈÇÏ°Ú½À´Ï´Ù.
?>
<table width=610 border=0 cellpadding=2 cellspacing=0 bordercolor=#E8E8E8>
<tr> 
  <td class="tk1" align="center" bgcolor="#EEEEEE" width="100">º¸³½³¯Â¥</td>
  <td class="tk1" bgcolor="#F7F7F7"><?echo $date;?></td>
</tr>
<tr> 
  <td class="tk1" align="center" bgcolor="#EEEEEE">º¸³½ÀÌ</td>
  <td class="tk1" bgcolor="#F7F7F7"><?echo "<a href=mailto:$from_addr>$from_name</a>
    ";?></td>
</tr>
<tr> 
  <td class="tk1" align="center" bgcolor="#EEEEEE">Á¦ &nbsp; ¸ñ</td>
  <td class="tk1" bgcolor="#F7F7F7"><?echo $subject;?></td>
</tr>
</table>
<table width="610" border="0" cellpadding="4">
<tr>
  <td class="tk1">
<?
checkstruct($mailstream, $MSG_NO);
imap_close($mailstream);

/*
À§ÀÇ µÎ°³ÀÇ ÇÔ¼ö°¡ À̹ø °­ÁÂÀÇ ÇÏÀ̶óÀÌÆ®ÁÒ... Çϳª Çϳª ¼³¸íÇÕ´Ï´Ù. ¼³¸íÀº À§¿¡ ÇØ´ç ÇÔ¼ö ¼±¾ðµÈ
°÷À» º¸¼¼¿ä.
*/
?>
  </td>
</tr>
</table>
<table width=610 border=0 cellpadding=4 cellspacing=0 bgcolor=#D8D8D8>
<tr> 
  <td class="tk1" width=40%></td>
  <td align="right" class="tk1" width=60%>
    <a href="mail_cmd.php?BOX=<?echo $box;?>&CMD=del&NO[]=<?echo $MSG_NO;?>">»èÁ¦</a>
    &nbsp;&nbsp;&nbsp;&nbsp;
    [<a href="mail_list.php?BOX=<?echo $box;?>">¸ñ·Ï</a>]
  </td>
</tr>
</table>
<br>
</body>
</html>


Á¶±Ý º¹ÀâÇÏÁÒ.. ´ÙÀ½¿£ ÷ºÎÆÄÀÏ¿¡ ¸µÅ©¸¦ °É¾ú´ø mail_down.php ÆÄÀÏ¿¡ ´ëÇØ ¼³¸íÇÏÁÒ...


 

211.244.103.10
±Û ¸ñ·Ï º¸±â °ü·Ã±Û ¾²±â °ü¸®ÀÚ ¸ðµå