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

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

Страницы: 1  |  2  |  3
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...
31.01.2017, 16:47
Нерсесов Сергей Николаевич

Зарегистрирован:
2014-06-16
Сообщений: 29

Код:

<?

if($inside_admin) {
ob_end_clean();
header('Location: '.$goBackLink.'&inside_admin=1');
exit;
} else {
if($_POST['js'] == 1)
echo '{"status": 1}';
else{
echo ($IsChecked ? NETCAT_MODERATION_MSG_OBJADD : NETCAT_MODERATION_MSG_OBJADDMOD);
echo "".$goBack;
}
}

$subject = 'Заявка по акции - '.$_SERVER['HTTP_HOST'];
$text = "
<div>
<span><b>Имя:</b> $f_Name</span><br/>
<span><b>Email:</b> <a href='mailto:$f_Email'>$f_Email</a></span><br/>
<span><b>Телефон:</b> $f_phones</span>
</div>";
$mailer = new CMIMEMail();
$mailer->mailbody(strip_tags($text), $text);
$mailer->send($f_Email, $cc_settings['email'], $cc_settings['email'], $subject, $subject);
$mailer->send($cc_settings['email'], $f_Email, $f_Email, $subject, $subject);
$mailer->attachFile($DOCUMENT_ROOT.$f_upload_file_url, $f_upload_file[name], 'application/octet-stream');
die();
?>


У меня во такой код в действии после добавления. Письмо приходит но без вложения...
198 196 2017-02-04 15:17:52 11866
Страницы: 1  |  2  |  3
Описание проекта