|
|
|
|
|
для: Dimka31
(28.05.2008 в 19:08)
| | У вас хотя бы прикрепление одного файла получается? Вы объявляете переменную для файла как $name, а вот оперируете еще с чем-то непонятным - $file ($file1). И еще, видимо вы невнимательно прочитали то, что я прикрепил - от куда вы можете точно знать, что ваш адресат получает письма в HTML-формате, а если он принимает их как просто текст? Как вы думаете, что он получит от вас в этом случае? | |
|
|
|
|
|
|
|
для: sim5
(28.05.2008 в 17:29)
| | Спасибо за статью. Пытался прикрепить файлик (еще один, т.е второй но вот ничего не получалось)
попытался сделать так
$name = "file.ext"; // в этой переменной надо сформировать имя файла (без всякого пути)
$EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
$boundary = "--".md5(uniqid(time())); // любая строка, которой не будет ниже в потоке данных.
$headers = "MIME-Version: 1.0;$EOL";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";
$headers .= "From: address@server.com";
$multipart = "--$boundary$EOL";
$multipart .= "Content-Type: text/html; charset=windows-1253$EOL";
$multipart .= "Content-Transfer-Encoding: base64$EOL";
$multipart .= $EOL; // раздел между заголовками и телом html-части
$multipart .= chunk_split(base64_encode($html));
$multipart .= "$EOL--$boundary$EOL";
$multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";
$multipart .= "Content-Transfer-Encoding: base64$EOL";
$multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";
$multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла
$multipart .= chunk_split(base64_encode($file));
$multipart .= "$EOL--$boundary$EOL";
$multipart .= "Content-Type: application/octet-stream; name=\"$name1\"$EOL";
$multipart .= "Content-Transfer-Encoding: base64$EOL";
$multipart .= "Content-Disposition: attachment; filename=\"$name1\"$EOL";
$multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла
$multipart .= chunk_split(base64_encode($file1));
$multipart .= "$EOL--$boundary--$EOL";
|
Вопрос такой, что именно и где нужно дописать, чтобы прикрепить файл $file1 ? | |
|
|
|
|
 34.1 Кб |
|
|
для: Dimka31
(28.05.2008 в 16:37)
| | Конечно есть. Просто вы должны добавлять столько раз файл, сколько отправляете их, соответсвенно оформлять их заголовки, указывать разделители. Почитайте вложение, особенно обратите внимание на конец статьи - так примерно должна выглядеть структура вашего писма с вложениями. Кроме этого смотрите другие рекомендации. В скрипте, на который вы ссылаетесь, вот эту строку:
<?
$EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
|
можно заменить, например, на:
<?
$EOL = (substr(PHP_OS, 0, 3) != "WIN") ? "\n" : "\r\n";
|
В этом случае будет подставлятся требуемое, в зависимости от системы. | |
|
|
|
|
|
|
|
для: Dimka31
(28.05.2008 в 12:04)
| | вообще есть такая возможность? | |
|
|
|
|
|
|
| Как можно прикрепить несколько файлов к одному письму на примере скрипта http://softtime.ru/scripts/mailattach.php | |
|
|
|
|