Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2013, 13:43   #1
flance
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 184
Вопрос Отправка письма с вложением

Добрый день.

PHP код:
$filename $_FILES['prfile']['tmp_name']; //Имя файла для прикрепления
     
$to "mymail@ya.ru"//Кому
     
$from "no-reply@mysite.ru"//От кого
     
$subject "Фото от посетителя"//Тема
     
$message "Файл"//Текст письма
     
$boundary "---"//Разделитель
     /* Заголовки */
     
$headers "From: $from\nReply-To: $from\n";
     
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
     
$body "--$boundary\n";
     
/* Присоединяем текстовое сообщение */
     
$body .= "Content-type: text/html; charset='utf-8'\n";
     
$body .= "Content-Transfer-Encoding: quoted-printablenn";
     
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
     
$body .= $message."\n";
     
$body .= "--$boundary\n";
     
$file fopen($filename"r"); //Открываем файл
     
$text fread($filefilesize($filename)); //Считываем весь файл
     
fclose($file); //Закрываем файл
     /* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */
     
$body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename)."?=\n"
     
$body .= "Content-Transfer-Encoding: base64\n";
     
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
     
$body .= chunk_split(base64_encode($text))."\n";
     
$body .= "--".$boundary ."--\n";
     
mail($to$subject$body$headers); //Отправляем письмо 
этот код отлично отправляет письма с прикрепленным файлом.
но вот беда - файл только маленькие, несколько килобайт или несколько десятков килобайт.
а файлы в несколько сот килобайт уже не проходят. причем письмо в это случае вообще не отпраляется (mail возвращает 0)
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
telegram: flancejob
flance вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка письма Pein95 Работа с сетью в Delphi 6 11.01.2011 20:10
Отправка письма с вложением Delphi Aero1 Помощь студентам 2 11.06.2010 22:26
Отправка письма с вложением Stanislav PHP 1 06.04.2009 13:44
отправка письма joker Win Api 0 14.02.2009 10:46
Отправка письма Ксеноцид PHP 1 07.05.2008 15:57