Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с заголовком. Файлы прикреплённые к письму.
Форумы портала PHP.SU » » Работа с сетью » Проблема с заголовком. Файлы прикреплённые к письму.

Страниц (1): [1]
 

1. san4es - 16 Мая, 2014 - 14:09:00 - перейти к сообщению
есть функция

PHP:
скопировать код в буфер обмена
  1. function XMail( $from, $to, $subj, $text, $filename, $BCC) {    
  2.     $un        = strtoupper(uniqid(time()));  
  3.     $head      = "Content-type: text/html; charset=utf-8\r\n";
  4.     $head      = "From: $from\r\n";
  5.     $head     .= "To: $to\r\n";
  6.    
  7.     //$head     .= $BCC;
  8.     $head     .= "Subject: $subj\r\n";
  9.  
  10.     //$head     .= "X-Priority: 1\n";
  11.     $head     .= "Reply-To: $from\r\n";
  12.     $head     .= "Mime-Version: 1.0\r\n";
  13.     $head     .= "Content-Type:multipart/mixed;";  
  14.     $head     .= "boundary=\"".$un."\"\r\n\r\n";  
  15.    
  16.     $zag       = "--".$un."\nContent-Type:text/html; charset=utf-8\r\n";  
  17.     $zag      .= "Content-Transfer-Encoding: 8bit\r\n\r\n$text\r\n\r\n";  
  18.   //$zag = "--".$un."\nContent-type: text/html; charset=\"windows-1251\"\r\n";
  19.   //$zag .= "Content-Transfer-Encoding: quoted-printable\r\n$text\n\n\r\n";
  20.    
  21.     if( is_array($filename)){                                
  22.        
  23.         for($i = 0; $i < count($filename); $i++){                            
  24.             $filename[$i] = trim($filename[$i]);
  25.            
  26.             $f         = fopen(iconv("UTF-8", "CP1251", $filename[$i]),"rb");
  27.             $zag      .= "--".$un."\r\n";  
  28.             $zag      .= "Content-Type: application/octet-stream;";
  29.             $zag      .= "name=\"".basename($filename[$i])."\"\r\n";
  30.             $zag      .= "Content-Transfer-Encoding:base64\r\n";
  31.             $zag      .= "Content-Disposition:attachment;";
  32.             $zag      .= "filename=\"".basename($filename[$i])."\"\r\n\r\n";
  33.             $zag      .= chunk_split(base64_encode(fread($f,filesize(iconv("UTF-8", "CP1251", $filename[$i])))))."\r\n";
  34.         }
  35.         $zag      .= "--$un"."\r\n";  
  36.     }
  37.  
  38.     if (!@mail("$to", "$subj", $zag, $head))
  39.      return 0;
  40.     else
  41.      return 1;
  42. }



как правильно завершить заголовок когда добавляются файлы? в данном виде к добавленным файлам добавляется пустой текстовый. я играл с со строкой "$zag .= "--$un"."\r\n";" получалось что файлы на месте и лишнего не было, НО 1С документооборот не загружал последний файл. поэтому данный вариант какбэ работает в конечном итоге, потому что последний файл тот самый пустой текстовый. Если это письмо переслать из тогоже аутлука, то все файлы заливаются.

 

Powered by ExBB FM 1.0 RC1