функция 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
}
}