Регистрация
Вход через соцсети
Восстановление пароля

Форма обратной связи плюс файл

Новый топик
Страницы: 1  |  2
06.03.2012, 13:08
Ответить | Цитировать
makushkin
Макушкин Михаил Борисович

Зарегистрирован:
2010-11-18
Сообщений: 10

Цитата:
так и не удается прикрепить нормальный файл!

название поля в котором содержится файл у вас какое? File ? оно вообще имеется в таблице компонента где описаны все поля?
06.04.2012, 15:34
Ответить | Цитировать
Гость
Гость

та же проблема.
Название полей совпадает! файлы приходят либо битые, либо вообще пустые. Названия файлов переименовываются в noname
Помогает смена хостинга....
Что то на стороне netcat не так работает с прикреплением файлов к сообщению на некоторых хостингах.
На hts.ru точно не прикрепляются нормально. Техподдержка не смогла помочь - порекомендовали сменить хостинг.
06.04.2012, 16:39
Ответить | Цитировать
Redox

Зарегистрирован:
2007-05-29
Сообщений: 13

А кто-нибудь подскажет как реализовать множественную загрузку файлов так, чтобы эти файлы крепились к письму?
В компонент добавляю поле file тип - множественная загрузка файлов
В альт. форме добавления пишу:
Код:
".$f_file->settings->min(1)->max(3)->path('/feedback-files/')."
".$f_file->form()."<br />

В системных настройках компонента это:
Код:
$f_file_tpl = array(
'prefix' => "<div>",
'record' => "<div>%i% - <a href='%Path%'>Посмотреть</a> </div>",
'divider' => " ",
'suffix' => "</div>",
'i' => 1
);

А как крепить их к письму?
Это:
Код:
$mailer->attachFile($DOCUMENT_ROOT.$f_file_url, $f_file[name], 'application/octet-stream');

понятное дело не сработало
Выдало:
Цитата:

Warning: nc_file_path(): Wrong field name or ID (file1) in /home/.../www/netcat/require/s_common.inc.php on line 2066

Fatal error: Cannot use object of type nc_multifield as array in /home/.../www/netcat/add.php(264) : eval()'d code on line 16
12.04.2012, 23:01
Ответить | Цитировать
Гость
Гость

Вариант решени:
Name - поле для имени заполняющего форму посетителя сайта
email - поле для ввода email заполняющего форму посетителя сайта
Поле для загрузки файла имеет название file1.
В действии после добавления пишем:
Код:
";
$to = "mail@domain.ru"; // Кто получит письмо
$from = "$f_email";// Адрес отправителя, т.е. от кого придёт письмо получателю
$from_name = "$f_Name"; // имя отправителя
$subject = "Тема письма"; // тема письма
$text = "<b>Привет!</b>"; // текст письма

function send_mail($to,$from,$from_name,$subject,$text,$file_name) {
$bound="1234";
$header="From: $from_name <$from>\n";
$header.="To: $to\n";
$header.="Subject: $subject\n";
$header.="MIME-Version: 1.0\n";
$header.="Content-Type: multipart/mixed; boundary=$bound\n";
$body="--$bound\n";
$body.="Content-type: text/html; charset=\"windows-1251\"\n";
$body.="Content-Transfer-Encoding: quoted-printable\n\n";
$body.="$text";
$file=file_get_contents($file_name);
$body.="\n\n--$bound\n";
$body.="Content-Type: application/octet-stream; ";
$body.="name=".basename($file_name)."\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-Disposition:attachment\n\n";
$body.=base64_encode($file)."\n";
$body.="$bound--\n\n";
if(mail($to, $subject, $body, $header)) {
echo "<center>Письмо было успешно отправлено!</center>";
} else {
echo "<center>Сообщение не отправлено!</center>";
};
};
send_mail($to,$from,$from_name,$subject,$text,$file);

echo "

и на hts.ru работает - проверено
12.04.2012, 23:59
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Для отправки писем с вложением файлов не рекомендую использовать php ф-ию mail, которая используют юниксовый sendmail. На большинстве хостингах стоят ограничения на размер отправляемого письма через sendmail, поэтому рано или поздно упретесь в этот лимит.

Рекомендую использовать для отправки pear библиотеки и отправлять через SMTP с авторизацией. Потратите чуть больше времени на изучение примеров, зато будет вам универсальный вариант, работающий везде.

Temet nosce...
27.03.2013, 17:44
Ответить | Цитировать
Гость
Гость

Никто случаем не реализовывал функцию отправки на email файлов из поля "множественная загрузка файлов" в форме обратной связи?
Буду благодарен за помощь.
28.03.2013, 00:20
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

"множественная загрузка файлов" - не пользуюсь этим.
В принципе в компоненте формыобратной связи в поле "действие после добавления" вам надо определить список файлов с именем и местом расположения (sql-запросом), а далее вызвать метод аттача этих файлов к формируемому письму.

Temet nosce...
08.04.2013, 17:32
Ответить | Цитировать
Гость
Гость

DIGGY,
А если не секрет, то чем пользуетесь когда надо в форме загружать несколько файлов и отправлять их на e-mail менеждера?
08.04.2013, 22:21
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Цитата:
DIGGY,
А если не секрет, то чем пользуетесь когда надо в форме загружать несколько файлов и отправлять их на e-mail менеждера?


Тут 2 части:
1. Загрузить файлы на сайт - думаю с этим вопросов нет.
2. Формирование письма, присоединение к нему файлов и отправка - тут пользуюсь библиотеками pear. Отправку писем делаю через SMTP с авторизацией, потому как на виртуальных хостингах есть ограничение на размер отправляемого письма через ф-ю mail.

Temet nosce...
198 196 2013-04-08 22:21:42 11866
Страницы: 1  |  2
Описание проекта