Вася Патриков
Новичок
mime заголовки в теле письма
Подскажите пожалуйста, как в письме отправить только картинку или звуковой файл. Делаю так:
$filename = "Natalie.jpg";
$f = fopen($filename,"rb");
$headers = "Mime-Version: 1.0\n";
$headers.= "\nContent-Type: image/jpeg; name=$filename";
$headers.= "\nContent-Transfer-Encoding: base64\n\n";
$message= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
mail($email, "only image", $message, $headers);
приходит:
Content-Type: image/jpeg; name=Natalie.jpg
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQE.......... и т.д.
Так и должно быть ? Просто, типа мой клиент не умеет отображать чисто картинки. Вопрос чисто теоретический, понятно что картику можно и приатачить и в виде хтмл отослать. а как же с музыкой - только атачить. Это только для этого придумали audio/ну пусть будет mp3 ?
И ещё вопрос - почему нижеописанный код нормально работает (в отличае от моего) :
............... $un = uniqid(time());
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\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($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
mail("$to", "$subj", $zag, $head);
здесь, третьим параметром, где должно быть тело письма, идёт фарш из заголовков и "содержимого письма" или это нормальная практика при использовании мультипартов.
Подскажите пожалуйста, как в письме отправить только картинку или звуковой файл. Делаю так:
$filename = "Natalie.jpg";
$f = fopen($filename,"rb");
$headers = "Mime-Version: 1.0\n";
$headers.= "\nContent-Type: image/jpeg; name=$filename";
$headers.= "\nContent-Transfer-Encoding: base64\n\n";
$message= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
mail($email, "only image", $message, $headers);
приходит:
Content-Type: image/jpeg; name=Natalie.jpg
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQE.......... и т.д.
Так и должно быть ? Просто, типа мой клиент не умеет отображать чисто картинки. Вопрос чисто теоретический, понятно что картику можно и приатачить и в виде хтмл отослать. а как же с музыкой - только атачить. Это только для этого придумали audio/ну пусть будет mp3 ?
И ещё вопрос - почему нижеописанный код нормально работает (в отличае от моего) :
............... $un = uniqid(time());
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\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($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
mail("$to", "$subj", $zag, $head);
здесь, третьим параметром, где должно быть тело письма, идёт фарш из заголовков и "содержимого письма" или это нормальная практика при использовании мультипартов.
Ну так как нащёт фарша ? И вообще, я на самом деле облазил все ссылки с которых кидает местный фак, но фиг где найдёшь нормальное описание параметров ф-ии mail. Вот если вышеуказанный пример работает нормально, зачем тогда в mail() пятый параметр. На самом деле столько готовых примеров, а основ никто не обьясняет, все гуру думают что и так всё понятно. А ещё, вымораживает, что каждый второй при этом стремится впарить работу с библиотеками Mail и Mail_Mime, как будто бы это панацея. А мне нет необходимости и возможности использовать тысячестрочные библиотеки, подключать левые классы. Так что не надо ... это ... того. Обьяснение работы ф-ии mail() в пхп это тоже самое, что на java-форуме спросить в чём отличае path от classpath. Тоже напарят,а я сижу и думаю, он сам то понял что сказал про classpath или просто тупо знает как ей пользоваться или вообще за него это его IDE делает автоматом. Всё выговорился. Често долго искал/читал про почту. Даже рфк по смтп начал читать... и кончил