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 :: Версия для печати :: Проблема с отправкой e-mail с аттачем [2]
Форумы портала PHP.SU » » Работа с сетью » Проблема с отправкой e-mail с аттачем

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

16. Garda1 - 19 Апреля, 2011 - 19:29:55 - перейти к сообщению
давай на мыло тебе скину скрипт, попробуешь, исключительно егго потестить.
тока мыло на какое напиши.
Если непроканает, тогда я - полотенчико.

Однако на другом хосте сработало???
тогда действительно в настройках сервачных может порыться
17. NeoN121 - 19 Апреля, 2011 - 19:32:44 - перейти к сообщению
Все окей, с Jino и других провайдеров шлется. Не шлется, по ходу, только с Агавы
Еще раз спасибо ))
(Добавление)
Garda1 пишет:
тогда действительно в настройках сервачных может порыться


Надо бы, но это уже совсем другая история. Агава все-равно лишь тестовый хостинг
18. aftercloud - 20 Апреля, 2011 - 11:00:30 - перейти к сообщению
Так на тестовых тарифах Агавы отключено отправление почты. Там же на сайте написано.
19. NeoN121 - 25 Апреля, 2011 - 18:54:14 - перейти к сообщению
aftercloud пишет:
Так на тестовых тарифах Агавы отключено отправление почты. Там же на сайте написано.


Так у меня не тестовый. Я имел ввиду, что я его использую как тестовый. А так вообще-то он платный. Сами письма отсылались, просто они были без текста

Задача решена. Вот исходник, который заработал:

PHP:
скопировать код в буфер обмена
  1.  
  2. header("Content-type: text/html; charset=utf-8");
  3. $bound = 'spravka-1234';
  4. $emailTo = $_GET['mail'];
  5. $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  6. $headers = 'From: MySite <'.$emailTo.'>'."\r\n";
  7. $headers .= "Mime-Version: 1.0\r\n";
  8. $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  9.                
  10.                
  11. $text .= "\n\n--$bound\r\n";
  12. $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
  13. $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  14.                
  15. $text .= "\r\nВаш Заказ\r\n";
  16.                
  17. $file_name = 'data.csv';
  18. $file = fopen($file_name,"rb");
  19. if(!$file){echo 'файл не прочитан!';exit;}
  20. $fread = fread($file,filesize($file_name));
  21. $text .= "\r\n--$bound\n";
  22. $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($file_name)."?=\"\n";
  23. $text .= "Content-Transfer-Encoding:base64\n";
  24. $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  25. $text .= chunk_split(base64_encode($fread))."\n";
  26. $text .= "--$bound--\r\n";
  27.                
  28. mail($emailTo,$subject,$text,$headers);
  29.  


$text .= "\r\nВаш Заказ\r\n"; - вот тут добавил в начале \r\n, и текста стали отсылаться

И еще. Последняя строчка: $text .= "--$bound--\r\n"; - тут добавил "--" в начале. Без этой штуки эта строка воспринималась как часть файла, в результате в конце файла получались непонятные крякозябры. С исправлением же все стало работать как надо

Этот вариант вроде бы работает везде. Всем спасибо за помощь ))

 

Powered by ExBB FM 1.0 RC1