hi,
I m using the following code to attach a file in an email and sending it through the 
mail function.
but the problem i face is that that mail is sent but there is not attachment in it , i 
have tried it lots of times
but didn't find the actuall cause of this logical error.
the server is Apache Server and the Linux Plateform.

file_upload is set to on , 
max file size is allright,
but still the problem...

here s the code


/////////////////////////////////////
function send_mail($vars){
 
    global $send_to, $send_cc;
    global $subject;
    global $attachment_enabled;
    global $REMOTE_ADDR;

    global $HTTP_POST_FILES;
 
 
    //$vars['subject']="ÇáÚÇãÉ";
 
    $files = array(); //files (field names) to attach in mail
    if (count($HTTP_POST_FILES) && $attachment_enabled){
        $files = array_keys($HTTP_POST_FILES);
    }

    // build mail
    $date_time = date('Y-m-d H:i:s');
    $mime_delimiter = md5(time());
    $fields = _build_fields($vars);
    $mail =<<<EOF
This is a MIME-encapsulated message
    
--$mime_delimiter
Content-type: text/plain;
charset: windows-1256
Content-Transfer-Encoding: 8bit

$fields 
--------------------
EOF;

  // i guess the problem is in the following code
 if (count($files)){
  foreach ($files as $file)
  {
  $file_name     = $HTTP_POST_FILES[$file]['name'];
  $file_type     = $HTTP_POST_FILES[$file]['type'];
  $file_tmp_name = $HTTP_POST_FILES[$file]['tmp_name'];
  $file_cnt = "";
  $f=@fopen($file_tmp_name, "rb");
  if (!$f) 
   continue;
  while($f && !feof($f))
   $file_cnt .= fread($f, 4096);
  fclose($f);
  
  if (!strlen($file_type)) $file_type="applicaton/octet-stream";
  if ($file_type == 'application/x-msdownload')
  $file_type = "applicaton/octet-stream";

  $mail .= "\n--$mime_delimiter\n";
  $mail .= "Content-type: $file_type\n";
  $mail .= "Content-Disposition: attachment; filename=\"$file_name\"\n";
  $mail .= "Content-Transfer-Encoding: base64\n\n";
  $mail .= chunk_split(base64_encode($file_cnt)); 
          }
     }
     $mail .= "\n--$mime_delimiter--";

 
 //send to
 // $_send_to = $send_to ? $send_to : "$vars[name_to] <".$vars["email_to"].">";
 $_send_from = "$vars[name_from] <".$vars["email_from"].">";
 $_subject = $subject ? $subject : $vars['subject'];
 //$a=intval($vars['email']);
 $_send_to=$send_to;

 mail($_send_to, $_subject, $mail, "Mime-Version: 1.0\nFrom: 
$_send_from\nContent-Type: multipart/mixed;\n 
boundary=\"$mime_delimiter\"\nContent-Disposition: inline");


*/
}

/////////////////////////////////////




---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now

Reply via email to