|
 1.2 Кб |
|
| Вот код.
С первого взгляда всё должно работать... фаил загружается на сервер, но на мыло ничего не приходит почему-то...
Ошибок никаких нет.
<?php
function XMail( $from, $to, $subj, $text, $filename) {
$f = fopen($filename,"r");
$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);
}
?>
|
Вот. Там сверху ещё идёт код заливки файла на сервер, его писать не стал - работает.
Полные версии обоих файлов (скрипт + форма) в аттаче. | |
|
|
|
|
|
|
|
для: This_me
(29.09.2005 в 16:30)
| | Попробуйте параллельно вот этот скрипт - он точно работает и выполняет эту же задачу - так вы сможете локализовать баг. | |
|
|
|
|
|
|
|
для: cheops
(29.09.2005 в 19:16)
| | ага... я уже пытался ваш скрипт чуток под себя изменить... но не получилось
может подскажете:
получатель, точнее получатели, берутся из текстового файла и в массив записываются.
$mail_array = file("mail.txt");
|
и циклом всем по очереди должно отослаться письмо с аттачем.
цикл беру for и пишу его в скрипте в строчке, которая перед комментом "// Отправляем почтовое сообщение", заканчивается цикл в самом конце.
for($i=0; $i < count($mail_array); $i++) {
|
Поле "Кому" из формы убираю и в коде, что бы во многих местах не менять,
меняю
$mail_to = $_POST['mail_to'];
| на
$mail_to = $mail_array[$i];
|
Вот, по моим соображениям мои требования должны осуществиться этим методом, но тут уже вылезают всякого рода ошибки, типа "Call to undefined function: send_mail() "
Не поможете мне?
Как надо правильно изменить, что бы работало? | |
|
|
|
|
|
|
|
для: This_me
(29.09.2005 в 20:18)
| | Так а файл с функцией send_mail() подключили - скрипт говорит, что не видит этой функции... | |
|
|
|
|
|
|
|
для: cheops
(29.09.2005 в 22:30)
| | и как исправить, что бы работало? | |
|
|
|
|
|
|
|
для: This_me
(29.09.2005 в 23:33)
| | Прикрепите архив с тем, что у вас сейчас есть, чтобы можно было протестировать на локальной машине? | |
|
|
|
|
|
|
|
для: cheops
(30.09.2005 в 12:27)
| | Ну вот, что у меня есть сейчас. | |
|
|
|
|
|
|
|
для: This_me
(30.09.2005 в 16:11)
| | Вынесите функцию send_mail() за пределы цикла for() | |
|
|
|
|
|
|
|
для: cheops
(30.09.2005 в 21:25)
| | Спасибо, что помогаете... но всё-равно не отправляется...
Теперь на экран выводится "К сожалению, письмо не отправлено" :( | |
|
|
|
|
|
|
|
для: This_me
(01.10.2005 в 07:38)
| | Хм... а почему у вас строка
<?php
$mail_to = $mail_array[$i];
?>
|
находится за пределами цикла - внесите эту строку внутрь. | |
|
|
|
|
|
|
|
для: cheops
(01.10.2005 в 12:34)
| | Отлично, всё заработало!
Спасибо огромное!
Теперь буду знать :) | |
|
|
|
|
|
|
|
для: This_me
(01.10.2005 в 17:11)
| | Нет, всё-таки у меня будет последний вопрос :)
Прикреплять буду только файлы html. Точнее, MHT фаил (архив:html+картинки). Другие виды файлов прикреплять не буду.
Вопрос: как его сразу выводить в тексте письма, а не только прикреплённым файлом? | |
|
|
|
|
|
|
|
|
для: cheops
(02.10.2005 в 19:14)
| | ну там же не то...
Как саму прикреплённую страницу вывести в теле письма?
Уже понял, что с MHT ничего не получится, так сто прикреплять буду обычную html... | |
|
|
|
|
|
|
|
для: This_me
(02.10.2005 в 20:00)
| | А зачем HTML-страницу прикреплять? Её можно сделать телом письма... | |
|
|
|
|
|
|
|
для: cheops
(02.10.2005 в 20:07)
| | у меня был скрипт, где в форму можно было hml забивать, но он как-то криво отображался... | |
|
|
|
|
|
|
|
для: cheops
(29.09.2005 в 19:16)
| | Привет!
Если я пишу $path=$mosConfig_absolute_path."/components/".$option."/upload/".$row->filename;
то когда получаю письмо там вложенный файл имеет название : "_home_admina2m_domains_volya-gromady.org.ua_public_html_components_com_jobline_upload_1129802495.jpg"
как можно изменить это название? Не хорошо ведь когда получат такой вот файл... | |
|
|
|
|
|
|
|
для: vovik_sumy
(20.10.2005 в 14:17)
| | Привет!
Всё просто:
$message_part .= "Content-Disposition: attachment; filename = \"".basename($path)."\"\n\n";
|
Решение нашёл тут:
http://www.wmaster.ru/scripts/detail.php?id=144
Спасибо! | |
|
|
|
|
|
|
|
для: vovik_sumy
(20.10.2005 в 16:28)
| | (..удалено..) | |
|
|
|
|
|
|
|
для: vovik_sumy
(20.10.2005 в 16:28)
| | Пример от cheops чуток глючит при отправке обычного текстового файла. Например если отправить (см. аттач) то файл придёт на один байт меньше (есенно, распаковать перед отправкой).
Ешё маленькая просьба если возможно прикладывать обучающие примеры в архиве, т.к. при копировании/вставке из Opera нарушается рассотяние между строками и форматирование что делает пример не рабочим. | |
|
|
|