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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Заголовки письма не соответствуют RFC 822 ...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
armancho7777777 Супермодератор
Отправлено: 02 Июня, 2011 - 10:37:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Здравствуйте товарищи!
Подскажите пожалуйста, Что не так в ниже приведёном годе, что при получении почты на mail.ru вылазит сообщение: заголовки письма не соответствуют RFC 822 ?
Я смотрел все темы по этому вопросу в гугле, но так и не нашёл ошибку в своём коде.
Скрипт отсылает сообщение с вложенным PDF файлом.
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. $content = $pdf->Output('S'); // Сгенерированный PDF файл
  5.  
  6. $content = chunk_split(base64_encode($content));
  7.  
  8. /*----------------------------------------------------------------*/
  9.  
  10. $mailto = 'xxxxxxxx@mail.ru';  // Кому (адресат)
  11. $from_name = mb_convert_encoding('Электронный журнал','utf8','cp1251'); // Отправитель (имя)
  12. $from_mail = 'xxxxxxx@gmail.com';  // Адрес отправителя
  13. $replyto = 'xxxxxxx@gmail.com';  // Адрес отправителя
  14. $uid = md5(uniqid(time()));
  15. $subject = mb_convert_encoding('Оценки за указанный период','utf8','cp1251');  // Тема
  16. $message = "\n  Здравствуйте, Мария Александровна! \n  Программу для просмотра PDF файла пожно скачать по ниже указанной ссылке:"; // Сообщение
  17. $message .= "\n  http://elektron.ar-site.ru/adobe_acrobat_reader/reader.exe \n  Это займет несколько минут.";
  18. $filename = 'pupkin_file_'.date("d_m_Y").'.pdf';  // Имя документа
  19.  
  20.  
  21.  
  22.  
  23. /*----------------------------------------------------------------*/
  24.  
  25.  
  26. $header = "From: ".$from_name." <".$from_mail.">\r\n";
  27. $header .= "Reply-To: ".$replyto."\r\n";
  28. $header .= "MIME-Version: 1.0\r\n";
  29. $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
  30.  
  31. $header .= "This is a multi-part message in MIME format.\r\n";
  32. $header .= "--".$uid."\r\n";
  33. $header .= "Content-type:text/plain; charset=windows-1251\r\n";
  34. $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
  35. $header .= $message."\r\n\r\n";
  36. $header .= "--".$uid."\r\n";
  37. $header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
  38. $header .= "Content-Transfer-Encoding: base64\r\n";
  39. $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
  40. $header .= $content."\r\n\r\n";
  41. $header .= "--".$uid."--";
  42.  
  43. $is_sent = @mail($mailto, $subject, " ", $header);
  44.  
  45.  

(Отредактировано автором: 02 Июня, 2011 - 10:42:56)

 
 Top
OrmaJever Модератор
Отправлено: 02 Июня, 2011 - 11:37:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




http://forum.php.su/topic.php?fo...1&topic=7588
Там вроде бы дан ответ


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
armancho7777777 Супермодератор
Отправлено: 02 Июня, 2011 - 11:40:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Да, проблема оказалась в том, что в заголовках кириллица. На как запихать ее туда, чтоб было без ошибок?
(Добавление)
Всё, решил проблемму)

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $from_name = '=?utf-8?B?'.base64_encode($from_name).'?=';
  4. $subject = '=?utf-8?B?'.base64_encode($subject).'?=';
  5.  
  6.  


Ответ нашёл тут:

http://www[dot]spravkaweb[dot]ru/php/sovet/mail

(Отредактировано автором: 02 Июня, 2011 - 12:28:36)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB