Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите найти ошибку в почтовом скрипте

Сообщения:  [1-6] 

 
 автор: Jura   (25.05.2006 в 10:59)   письмо автору
 
   для: Владимир22   (25.05.2006 в 00:52)
 

Надо перед передачей в скрипт обрабатывать полученные данные. Самый простой способ str_replace().

   
 
 автор: Владимир22   (25.05.2006 в 00:52)   письмо автору
 
   для: Trianon   (24.05.2006 в 23:47)
 

Вот сделал последнюю часть так, всё приходит как надо, но под письмом всё-равно пишет:
Warning: While decoding this file Opera encountered errors.

##########################  ФАЙЛ   ################################
$letter = "--$bound\n"; //разделитель
$letter .= "Content-Type: application/octet-stream\n";
$letter .= "Content-Transfer-Encoding:base64\n";
$letter .= "Content-Disposition: attachment; filename = \"".$file_name."\"\n\n";
$letter .= chunk_split(base64_encode(fread($f,filesize($file_name))))."\n";
$letter .= $body."--$bound--\n\n";
mail($to, $subj, $letter, $head);

Где здесь ошибка, непонятно...

И ещё вопрос
При набивании в форму вручную
после обработки текст оформляется с переводами строки,
а при копировании в форму готового текста (например из Блокнота)
всё получается одной длинной строкой. Как с этим бороться?

   
 
 автор: Trianon   (24.05.2006 в 23:47)   письмо автору
 
   для: Владимир22   (24.05.2006 в 21:47)
 


$letter .= chunk_split(base64_encode(fread($f,filesize($file_name))))."\n"; 

   
 
 автор: Владимир22   (24.05.2006 в 22:34)   письмо автору
 
   для: Trianon   (24.05.2006 в 22:18)
 

А как это здесь сделать, что и куда вставить?

   
 
 автор: Trianon   (24.05.2006 в 22:18)   письмо автору
 
   для: Владимир22   (24.05.2006 в 21:47)
 

Файл нельзя кодировать в одну длинную строку. Её надо резать на куски по 72 символа. Функцией chunk_split.

   
 
 автор: Владимир22   (24.05.2006 в 21:47)   письмо автору
 
 

Прошу о помощи!
Помогите найти ошибку в скрипте отправки письма с вложением.
Всё присылает, но после текста письма выдаёт:
Warning: While decoding this file Opera encountered errors.
Почуму-то у Оперы возникают проблемы.
В IE, к сожалению, протестировать нет возможности.

Вот код

<?
error_reporting
(E_ALL);
#######################################
$mes "Всё отлично!";
$from "info@pupkin.ru";
$from_n "Василий Пупкин";
$subj="Проверка";
$to "admin@pupkin.com";
$file_name="demo.jpg";
#######################################
$bound "--ttptk2005--"// разделитель
$f fopen($file_name,"rb");

//  основыне заголовки
$head "From: $from_n <$from>\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed";  
$head .= "boundary=\"----------".$bound."\"\n\n";

###############  ТЕКСТ  ############
$body  "--$bound\n";  //разделитель
$body .= "Content-Type: text/plain; charset=windows-1251\n";
$body .= "Content-Transfer-Encoding: 8bit\n\n$mes\n\n"// текстовое сообщение

###############  ФАЙЛ   #############
$letter "--$bound\n"//разделитель
$letter .= "Content-Type: application/octet-stream\n";
$letter .= "Content-Transfer-Encoding:base64\n";
$letter .= "Content-Disposition: attachment; filename = \"".$file_name."\"\n\n";
$letter .= base64_encode(fread($f,filesize($file_name)))."\n";
$letter .= $body."--$bound--\n";
mail($to$subj$letter$head);
?>

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования