Send attachments in email - sendmail function

0

I'm developing a code where I can send emails to my clients with multiple attachments, I already made my code and it works, but in the attachments a file appears that was not the one I attached, I was wondering if anyone knows how I can delete it. My code is as follows:

public function sendMail($to, $from, $subject, $msg_text, $msg_html, $to_name, $from_name, $bcc, $id_contabilidade_faturacao) {
        for($i=0; $i < count($_FILES['FILE']['name']); $i++){

            $ftype[] = $_FILES['FILE']['type'][$i];
            $fname[] = $_FILES['FILE']['name'][$i];
            $ftmp[] = $_FILES['FILE']['tmp_name'][$i];
            $fsize[] = $_FILES['FILE']['size'][$i];
        }
    // array with filenames to be sent as attachment
        $files = $fname;

        // email fields: to, from, subject, and so on

        $headers = "From: ".$from_name." <".$from.">";

        // boundary 
        $semi_rand = md5(time()); 
        $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 

        // headers for attachment 
        $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 

        // multipart boundary 
            $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $msg_text . "\n\n"; 
            $message .= "--{$mime_boundary}\n";

            // preparing attachments
            for($x=0;$x<count($files);$x++){
                $tmpFilePath[$x] = $ftmp[$x];
                $newFilePath[$x] = dirname(__FILE__ ).'/import/' . $files[$x];
                move_uploaded_file($tmpFilePath[$x], $newFilePath[$x]);

                $file = fopen($newFilePath[$x],"r");
                $data = fread($file,$fsize[$x]);
                fclose($file);
                $data = chunk_split(base64_encode($data));
                $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . 
                "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
                "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
                $message .= "--{$mime_boundary}\n";
            }

            // send

            $ok = @mail($to, $subject, $message, $headers); 
}
    
asked by anonymous 15.03.2017 / 18:13

0 answers