Как прикрепить файл к письму email | mail() | PHP

Код преимущественно взят отсюда [stackoverflow.com]:

<?php
if($_FILES['fileFF']['size'] > 0) {

  $output = '<h1>Спасибо! Ваш файл получен.</h1>';

  $to = "name@yandex.ru"; // адрес почты получателя
  $from = "name@mail.ru"; // адрес почты отправителя
  $subject = "Заголовок письма";
  $message = "Содержимое письма";

  $attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'])));
  $filename = $_FILES['fileFF']['name'];
  $filetype = $_FILES['fileFF']['type'];

  $boundary = md5(date('r', time())); // рандомное число

  $headers = "From: " . $from . "\r\n"; // см. наиболее часто используемые заголовки
  $headers .= "Reply-To: " . $from . "\r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: multipart/mixed; boundary=\"_1_$boundary\"";

  $message="
--_1_$boundary
Content-Type: multipart/alternative; boundary=\"_2_$boundary\"

--_2_$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit

$message

--_2_$boundary--
--_1_$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment // содержимое является вложенным

$attachment
--_1_$boundary--";

  mail($to, $subject, $message, $headers);

}
?>

<!DOCTYPE HTML>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Прикрепить файл к email | PHP</title>

<?php echo $output; ?>
<form enctype="multipart/form-data" method="post">
<input type="file" name="fileFF"><input type="submit" value="Отправить">
</form>
в f t
наверх ↑

Комментариев нет: