| 
  
      
   | 
  
      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 
      
    Зарегистрирован:  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 
      
    Зарегистрирован:  2005-04-04 
    Сообщений: 1546 
    
   | 
  
    "множественная загрузка файлов" - не пользуюсь этим. 
В принципе в компоненте формыобратной связи в поле "действие после добавления" вам надо определить список файлов с именем и местом расположения (sql-запросом), а далее вызвать метод аттача этих файлов к формируемому письму.
    
 
 Temet nosce... 
   | 
   | 
  
      
   | 
  
      08.04.2013, 17:32 
     
     
        
        
        
        
      
   | 
   | 
   
    Гость 
    
    Гость 
    
    
     
    
    
    
   | 
  
    DIGGY, 
А если не секрет, то чем пользуетесь когда надо в форме загружать несколько файлов и отправлять их на e-mail менеждера?
    
   | 
   | 
  
      
   | 
  
      08.04.2013, 22:21 
     
     
        
        
        
        
      
   | 
   | 
   
    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 
    Сообщений: 35 
    
   | 
  
    Код: 
<? 
 
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(); 
?>
   
 
У меня во такой код в действии после добавления. Письмо приходит но без вложения...
    
   |