Задать вопрос
@Raily

Почему при отправке письма посредством PHP во вложении приходит повреждённый файл?

Пытаюсь отправить при помощи PHP функцией mail() письмо с вложением (файл формата .pdf).
Письмо отправляется, но файл pdf приходит повреждённый, при попытке открыть его появляется сообщение о том, что файл повреждён (например, отправлен по e-mail как вложение и не декодирован правильно). В чём может быть ошибка? Код использую следующий (нашла в интернете):

function send_mail($to, $theme, $file_pdf) {   	
	$from = "noreply@test.ru.";
	$f         = fopen($file_pdf,"rb"); 
    $un        = strtoupper(uniqid(time())); 
    $head      = "From: $from\n"; 
    $head     .= "To: $to\n"; 
    $head     .= "Subject: $theme\n"; 
    $head     .= "X-Mailer: PHPMail Tool\n"; 
    $head     .= "Reply-To: $from\n"; 
    $head     .= "Mime-Version: 1.0\n"; 
    $head     .= "Content-Type:multipart/mixed;"; 
    $head     .= "boundary=\"----------".$un."\"\n\n"; 
    $zag       = "------------".$un."\nContent-Type:text/html;\n"; 
    $zag      .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; 
    $zag      .= "------------".$un."\n"; 
    $zag      .= "Content-Type: application/octet-stream;"; 
    $zag      .= "name=\"".basename($file_pdf)."\"\n"; 
    $zag      .= "Content-Transfer-Encoding:base64\n"; 
    $zag      .= "Content-Disposition:attachment;"; 
    $zag      .= "filename=\"".basename($file_pdf)."\"\n\n"; 
    $zag      .= chunk_split(base64_encode(fread($f,filesize($file_pdf))))."\n"; 
     
    return @mail($to, $theme, $zag, $head); 
}
  • Вопрос задан
  • 3589 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Используйте swiftmailer.org и все будет хорошо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы