Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Добрый день.

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)
__________________
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
skype: flancejob
flance вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


05:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru