Функция php mail на хост-сервере go daddy не отправляет вложение, а отправляет на другой сервер - PullRequest
0 голосов
/ 27 сентября 2018

функция mail в php на хост-сервере godaddy не отправляет вложение. Я пытался добавить скрипт на другой сервер, он работал очень хорошо.проблема начинает проявляться после того, как я установил WordPress на сервер, поэтому мне пришлось создать файл php в wp-content / themes /, и я назвал его в WordPress .. я создал папку с именем «uploads» рядом с этим сценарием, чтобыдобавьте в него загруженные файлы, затем отправьте его по электронной почте .. он не читает и не загружает файлы в нем ..

Я хочу еще раз упомянуть, что я добавил тот же сценарий на другой хост-сервер спапка с названием «uploads» в той же директории, и она работала очень хорошо .. у кого-нибудь есть идеи, как решить эту проблему?

      if(isset($_FILES) && (bool) $_FILES) {
       $AllowedExtensions = ["jpeg","jpg","png", null];
       $files = [];
       $server_file = [];
       foreach($_FILES as $name => $file) {
           $file_name = $file["name"];
           $file_temp = $file["tmp_name"];
           foreach($file_name as $key) {
               $path_parts = pathinfo($key);
               $extension = strtolower($path_parts["extension"]);
               if(!in_array($extension, $AllowedExtensions)) { die("Extension not allowed"); }
               $server_file[] = "uploads/{$path_parts["basename"]}";
           }
           for($i = 0; $i<count($file_temp); $i++) { move_uploaded_file($file_temp[$i], $server_file[$i]); }
       }
       $to = "John doe <myemail@gmail.com>"; // <-- Your Valid Email goes HERE 
       $from = "abcabc@example.com";
       $dte= date();
       $subject ="Work Order $dte";
       $message = $body_msg;
       // $message = trim(strip_tags($body_msg));
       $headers = "From: $from";
       $semi_rand = md5(time());
       $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
       $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
       $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
       $message .= "--{$mime_boundary}\n";
      for($i = 0; $i<count($server_file); $i++) {
           $afile = fopen($server_file[$i],"rb");
           $data = fread($afile,filesize($server_file[$i]));
           fclose($afile);
           $data = chunk_split(base64_encode($data));
           $name = $file_name[$i];
           $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$name\"\n" .
                "Content-Disposition: attachment;\n" . " >filename=\"$name\"\n" .
                "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
          $message .= "--{$mime_boundary}\n";
      }

       if(mail($to, $subject, $message, $headers)) {
           echo "<h2 style='text-align: center'>mail sent to $to!</h2>";

       } else {
           echo "<p>mail could not be sent!</p>";enter code here
       }
   }
...