|
|
|
| Кто знает, как по-простому можно прошить изображение в теле письма (желательно без всяких классов), и чем проще, тем лучше. Вот нашёл на одном сайте код, но насколько он работоспособный и нет ли вариантов получше? Всем знающим спасибо за помощь или ссылки на данную информацию.
<?php
/*
В переменной $file_name путь до вставляемой картинки.
*/
$file_name="5.jpg";
$subj="Отправка изображения";
$bound="pupkin_web";
$headers="From: \"Вася Пупкин\" <admin@pupkin.ru>\n";
$headers.="To: admin@localhost.ru\n";
$headers.="Subject: $subj\n";
$headers.="Mime-Version: 1.0\n";
$headers.="Content-Type: multipart/alternative; boundary=\"$bound\"\n";
$body="--$bound\n";
$body.="Content-type: text/html; charset=\"windows-1251\"\n";
$body.="Content-Transfer-Encoding: 8bit\n\n";
$body.="<h3>Привет</h3>
Это письмо с прикрепленной картинкой.<BR>
А вот сама картинка:<BR>
<img src=\"cid:pupkin_web_img_1\">";
$body.="\n\n--$bound\n";
$body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-ID: <pupkin_web_img_1>\n\n";
$f=fopen($file_name,"rb");
$body.=base64_encode(fread($f,filesize($file_name)))."\n";
$body.="--$bound--\n\n";
mail("admin@localhost.ru", $subj, $body, $headers);
?>
|
| |
|
|
|
|
|
|
|
для: Владимир22
(19.05.2006 в 16:53)
| | Плюс ещё вопрос к знающим.
При отправке простого письма (код ниже) текст приходит в нормальной кодировке, а вот тема ("Проверка") в непонятной кодировке.
Как это исправить?
<?
$header="Content-type: text/html; charset=\"windows-1251\"";
mail("admin@pupkin.ru", "Проверка", "Текст письма - тра-та-та",
"From: somebody@pupkin.ru\n$header");
?>
|
| |
|
|
|
|
|
|
|
для: Владимир22
(19.05.2006 в 19:43)
| | Как выглядит непоняная кодировка? И какой клиент используете для просмотра писем? | |
|
|
|
|
|
|
|
для: cheops
(19.05.2006 в 23:42)
| | Заголовок выглядит так: нPOПЮБЙЮ ХГНАПЮФЕЬХЬ
Как чтоб было по-русски? | |
|
|
|
|
|
|
|
для: Владимир22
(20.05.2006 в 02:21)
| | это у тебя koi8 а надо win-1251, попробуй iconv
iconv('KOI8-R,'windows-1251',$message);
|
| |
|
|
|
|
|
|
|
для: Jura
(22.05.2006 в 14:54)
| | Что-то у меня php не понимает такой команды:
iconv('KOI8-R','windows-1251',$message);
и так тожже не хочет:
$message = "Проверка";
$message=iconv('KOI8-R,'windows-1251',$message);
Пишет: Call to undefined function: iconv()
Можете написать правильный код? | |
|
|
|
|
|
|
|
для: Владимир22
(23.05.2006 в 23:24)
| | Вероятно у вас не полдключёно расширение iconv(). Вы можете для преобразования KOI8-R в Windows-1251 использовать функцию convert_cyr_string()
<?php
$message = convert_cyr_string ($message, 'k', 'w');
?>
|
| |
|
|
|
|
|
|
|
для: Владимир22
(20.05.2006 в 02:21)
| | Кстати, а скрипт замечательный получился и главное быстрый. Премного благодарен автору. Я его правда немного модернизировал, но азы мне понравились. И на всех версиях php работает. | |
|
|
|
|
|
|
|
для: Владимир22
(19.05.2006 в 16:53)
| | Подскажите подалуйста, что делать? если файл прикрепляется к письму, но неправильно отображается, т.е. отображается наполовину. Мне кажется, что он прикрепляется не полностью. | |
|
|
|
|
|
|
|
для: Jura
(22.05.2006 в 15:21)
| | Уже разобрался!
Обязательно при прикреплении файла! после кодирования в base 64 используйте функцию
chunk_split
$body.=chunk_split(base64_encode(fread($f,filesize($file_name))))."\r\n";
|
Урррра..... Заработало. | |
|
|
|
|
|
|
|
для: Jura
(22.05.2006 в 15:37)
| | А весь работающий код можете привести? У меня при отправке в письме с реального сервера картинки, лежащей на том же сервере, приходит такой ответ:
Warning: While decoding this file Opera encountered errors.
И ещё: может кто знает,как можно проверять письма с аттачментом на локальном компьютере в Денвере? А то всё приходит в виде шифра - картинок не видно и присоединения проверить нельзя. | |
|
|
|
|
 5.1 Кб |
|
|
для: Владимир22
(23.05.2006 в 23:18)
| | Прикрепляю к данному сообщению рабочий скрипт. Если кто захочет модифицировать, то милости просим, только не забывайте пожалуйста выкладывать ваши наработки в форум.
Хотелось бы следующее еще в него внедрить:
1. Количество прикрепленных файлов чтобы не ограничивалось, а задавалось через массив.
2. Красивое преобразование во все самые наиболее популярные кодировки. Постарался написать универсально, но в utf -8 и iso не транслирует.
В одном из классов видел отличную функцию для перекодирования. Если найду - выложу.
3. чтобы когда функции рассылки передавался html код со ссылками на файлы, эти файлы прикреплялись автоматически и ссылки заменялись на внутренние.
Данный скрипт проверялся на работоспособность на php4 и php5 windows и linux серверах. Работает быстро и бесшумно.
Будут предложения, пишите. Замечания и критика только приветствуется. | |
|
|
|
|
|
|
|
для: Jura
(25.05.2006 в 01:27)
| | Спасибо ПРЕогромное!
Буду проверять на работоспособность в Опере.
Всем Good luck! | |
|
|
|
|
|
|
|
для: Владимир22
(25.05.2006 в 02:57)
| | в опере желательно последней! Так как 8.5 и 9 релизы существенно отличаются. | |
|
|
|