Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как прикрутить отправку картинки к емайл 
:(
    Опции темы
supervladislav
Дата 26.4.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



подскажите как переделать код чтоб можно было отправлять три файла(картинки) ,и что есть переменная $un
Код




<?php 
function XMail( $from, $to, $subj, $text, $filename) { 
    $f         = fopen($filename,"rb"); 
    $un        = strtoupper(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"; 
     
    return @mail("$to", "$subj", $zag, $head); 
} 
?>

PM MAIL   Вверх
Fortop
Дата 26.4.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(supervladislav @  26.4.2008,  19:59 Найти цитируемый пост)
что есть переменная $un

Уникальный идентификатор

Судя по всему достаточно будет 
Размножить эту часть для $filename1, $filename2, $filename3
Код

    $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"; 


Впрочем, все таки стоит почитать о формате аттачей, чтобы не пропустить какой-нибудь разделитель smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
supervladislav
Дата 26.4.2008, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



а где есть стоящая информация на русском????

и я несовсем понимаю ,что делает функция  $f = fopen($filename,"rb"); 

Это сообщение отредактировал(а) supervladislav - 26.4.2008, 23:04
PM MAIL   Вверх
Feldmarschall
Дата 26.4.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



http://web.opennet.ru/docs/RUS/mime_rfc/index.html

Это сообщение отредактировал(а) Feldmarschall - 26.4.2008, 23:12
PM   Вверх
Fortop
Дата 26.4.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(supervladislav @  26.4.2008,  22:59 Найти цитируемый пост)
и я несовсем понимаю ,что делает функция  $f = fopen($filename,"rb"); 

Это очень плохо.

Тогда тебе сюда http://www.php.net/manual/ru/book.filesystem.php


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
supervladislav
Дата 26.4.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



я просто про то,что у меня отправлятся будет графика.
PM MAIL   Вверх
Fortop
Дата 26.4.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Для base64 нет разницы что отправлять.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
_AXE_
Дата 28.4.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 1.11.2007
Где: Kazakhstan

Репутация: нет
Всего: нет



А почему бы не упростить и не отправлять письмо в виде html?
Хоть 10 тогда отправляй...
PM MAIL WWW ICQ Skype GTalk   Вверх
Feldmarschall
Дата 28.4.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



потому что это не упрощение, а усложнение.
PM   Вверх
DeamonShan
Дата 29.4.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



Код

$body.="--$bound\n";
$body.="Content-Type: application/octet-stream; name=\"$filename\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-ID: <$file_id>\n\n";
$body.=base64_encode($file)."\n";



Прокрути это в цикле и вставь в тело... $bound - это разделители, $filename - имя файла, $file_id - присваиваешь сам, $file - содержимое файла...... и в конце цикла не забудь добавить такую строчку 

Код

$body.="--$bound--\n\n";


затем mail();

Добавлено через 3 минуты и 8 секунд
Код

$bound="beleberda";
$headers="From: \"Me\" <[email protected]>\n";
$headers.="To: \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.=$teLo."<BR>\n\n";

$body.="--$bound\n";
$body.="Content-Type: application/octet-stream; name=\"schet.doc\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-ID: <doc_1>\n\n";
include "include/blanc_schet_dogovor.inc";
$body.=base64_encode($returnHTML)."\n";

$body.="--$bound\n";
$body.="Content-Type: application/octet-stream; name=\"schet.html\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-ID: <html_1>\n\n";
include "include/blanc_schet_html.inc";
$body.=base64_encode($returnHTML)."\n";

$body.="--$bound--\n\n";
mail($mail, $subj, $body, $headers); 


пример атача двух файлов... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.