Как с помощью PHP скрипта отправить письмо с аттачем (attach)?
Чтобы присоединить файл к письму, можно воспользоваться, например, таким PHP скриптом:
<?php
$from = "mail@host.ru";
$to = "mail@host.ru";
$subj = "test subject";
$text = "Some content...";
$filename = "archive.zip";
$handle = fopen($filename,"rb");
$uniq = strtoupper(uniqid(time()));
$header = "From: $from\n";
$header .= "Subject: $subj\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type:multipart/mixed; ";
$header .= "boundary=\"----------" . $uniq . "\"\n\n";
$letter = "------------" . $uniq . "\nContent-Type:text/plain;\n";
$letter .= "Content-Transfer-Encoding: 8bit\n\n" . $text . "\n\n";
$letter .= "------------" . $uniq . "\n";
$letter .= "Content-Type: application/octet-stream;";
$letter .= "name=\"" . basename($filename) . "\"\n";
$letter .= "Content-Transfer-Encoding:base64\n";
$letter .= "Content-Disposition:attachment;";
$letter .= "filename=\"" . basename($filename) . "\"\n\n";
$letter .= chunk_split(base64_encode(fread($handle,filesize($filename)))) . "\n";
mail($to, $subj, $letter, $header);
?>
Вместо mail@host.ru укажите Ваш e-mail. archive.zip - путь к файлу, который Вы отправляете. В данном случае мы отправляем архив archive.zip из той же директории, в которой выполняется скрипт.