| jon45 | 
					
						 Отправлено: 5 октября 2011 — 07:09          
					 | 
				 
				
					
	        			
  
  
						  
        				Newbie 
        				 
  
        				Покинул форум 
        				Сообщений всего: 37 
        				Дата рег-ции: Дек. 2010  
        				 Откуда: Курган 
						Репутация: 0 
        				 
        				 
         				 
        				  
					 | 
					Помогите кто может!!! 
Форум на сайте работает уже около года. До 30.09.11г. проблем не было.  
После 30.09 пользователи начали жаловаться, что не могут прочитать письма, генерируемые с форума, в том числе и вновь регистрирующиеся пользователи (приходит письмо с логином и паролем, а прочитать не могут). Причем по тексту письма читаются все ссылки и текст на латыни, а вот русский - нечитаем (либо пусто, либо пробелы/тире). 
Попробовал внести изменения из этого топика: 
http://exbb.info/community/topic...=6&topic=411 
после чего заголовок письма стал читаем, а вот само письмо - без изменений. 
Понятно, что дело в кодировке. Но вопросы к админам хостинга (хостинг платный) ничего не дали. Говорят, изменений на хостинге не было, а консультаций по написанию кода они естественно не дают. Но ведь год все работало нормально! 
Очень надеюсь, что кто то здесь сможет помочь с этой проблемой. | 
				 
				
					|   | 
					
						
						 
					 | 
				 
			 
            						
            			
            			
            			
            			
            			
				
					| jon45 | 
					
						 Отправлено: 6 октября 2011 — 01:31          
					 | 
				 
				
					
	        			
  
  
						  
        				Newbie 
        				 
  
        				Покинул форум 
        				Сообщений всего: 37 
        				Дата рег-ции: Дек. 2010  
        				 Откуда: Курган 
						Репутация: 0 
        				 
        				 
         				 
        				  
					 | 
					А нельзя применить для тела письма ту же конструкцию, что и для заголовка? 
 
CODE:$send_charset = "windows-1251"; 
$list[0]='=?' . $send_charset . '?B?' . base64_encode($list[0]) . '?='; 
$list[3]='=?' . $send_charset . '?B?' . base64_encode($list[3]) . '?=';   
 
Сдается мне, что если это сделать, проблема решится. Кто подскажет КАК? 
В каких файлах копать? 
 
Сейчас email функции в файле fm.class.php выглядят так: 
 
CODE:/* 
			_Mail Основная функция которая определяет как отправлять письма 
		*/ 
		function _Mail() { 
 
				$this->_SendMail(func_get_args()); 
		} 
 
		/* 
			_SendMail функция отправки e-mail через sendmail сервера 
		*/ 
		function _SendMail($list) { 
				$send_charset = "windows-1251"; 
                                                                                                           $list[0]='=?' . $send_charset . '?B?' . base64_encode($list[0]) . '?='; 
                                                                                                           $list[3]='=?' . $send_charset . '?B?' . base64_encode($list[3]) . '?='; 
                                                                                                           $headers = 'From: '.$list[0].' <'.$list[1].">\n"; 
  				$headers .= 'Reply-To: '.$list[1]."\n"; 
  				$headers .= 'Return-Path: '.$list[1]."\n"; 
  				$headers .= "MIME-Version: 1.0\nContent-type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit\nDate: " . gmdate('D, d M Y H:i:s', time()) . " UT\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\n"; 
 
				$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS):array(); 
				if (count($skip_mails) !== 0) { 
					unset($skip_mails[0]); 
					$skip_mails	= preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails))); 
				} else { 
						$skip_mails	= "@"; 
				} 
 
				$users = $this->_Read(FM_USERS); 
				if (is_array($list[2])) { 
    				@set_time_limit(360); 
    				foreach ($list[2] as $user_id => $flag) { 
							if (isset($users[$user_id]) && !preg_match("#(".$skip_mails.")$#is",$users[$user_id]['m'])) { 
								mail($users[$user_id]['m'], $list[3], $list[4], $headers); 
							} 
					} 
				} else { 
						if (!preg_match("#(".$skip_mails.")$#is",$list[2])) { 
							mail($list[2], $list[3], $list[4], $headers); 
						} 
				} 
		} 
  (Отредактировано автором: 6 октября 2011 — 01:34)  | 
				 
				
					|   | 
					
						
						 
					 | 
				 
			 
            			
            			
				
					| BON | 
					
						 Отправлено: 7 октября 2011 — 15:31          
					 | 
				 
				
					
	        			
  
  
						   
        				ExBB Team Admin 
        				 
  
        				Покинул форум 
        				Сообщений всего: 2762 
        				Дата рег-ции: Нояб. 2010  
        				 Откуда: СССР/Белгород 
						Репутация: 72 
        				 
        				 
         				 
        				  
					 | 
					само тело которое формирует письмо находится в фаиле lang_front_register.php  
/Смотреть (Отобразить)* 
	Email/PM texts 
*/ 
$this->LANG['NewUserPMMsg']		= '%s, здравствуйте! 
Добро пожаловать на наш форум. 
Теперь Вы можете размещать свои вопросы, пожелания, участвовать в беседах. Здесь Вы всегда найдете поддержку и помощь. 
Не забывайте, что на форуме приветствуется корректность и вежливость. 
Кроме того, проблемы старайтесь формулировать внятно: в правильно заданном вопросе обычно содержится половина ответа. 
Новые темы создавать следует лишь в соответствующих разделах. 
Если у Вас остались вопросы, связанные с работой форума, заходите [url=%s/rules.php]сюда[/url]. 
Приятной прогулки! Надеюсь Вам будет здесь интересно. 
С уважением, Администратор форума.'; 
$this->LANG['EmailNewUserRegistered'] = '%s 
%s 
---------------------------------------------------------------- ----- 
Регистрационная информация нового пользователя: 
Имя: %s 
Пароль: %s 
Адрес e-mail: %s 
Домашняя страничка: %s 
IP - адрес пользователя: %s 
---------------------------------------------------------------- ----- 
'; 
$this->LANG['EmailThanksRegistration'] = 'Спасибо за регистрацию на нашем форуме  %s 
%s 
 
>--------------------------------------------------------------------- 
Ваше имя и пароль написано ниже: 
   Имя:   %s 
   Пароль:   %s 
>--------------------------------------------------------------------- 
 
Имя пользователя и пароль чуствительны к регистру. 
Пожалуйста обратите внимание, что Вы можете изменить пароль в любое время 
редактируя ваш Профиль. Если Вы изменяете ваш адрес электронной почты, 
новый пароль будет послан Вам на email. 
'; 
$this->LANG['EmailNewUserRegistered'] = '%s 
%s 
---------------------------------------------------------------- ----- 
Регистрационная информация нового пользователя: 
Имя: %s 
Пароль: %s 
Адрес e-mail: %s 
Домашняя страничка: %s 
IP - адрес пользователя: %s 
---------------------------------------------------------------- ----- 
'; 
$this->LANG['RegRequest'] = "Здравствуйте, %3\$s, 
Это письмо отправлено с сайта %2\$s . 
Вы получили это письмо, так как этот e-mail адрес был использован при регистрации на форуме \"%1\$s\" ( %2\$s ). 
Если Вы не регистрировались на этом форуме, просто проигнорируйте это письмо и удалите его. Вы больше не получите такого письма. 
 
------------------------------------------------ 
Инструкция по активации 
------------------------------------------------ 
Мы требуем от Вас подтверждения  Вашей регистрации, для проверки реальности введенного e-mail. Это нужно  для защиты от злоупотреблений и спама. 
Для активации Вашего аккаунта Вам необходимо, в течении суток (24 часа), зайти по следующей ссылке: 
 
%2\$s/register.php?action=activate®id=%5\$s&code=%6\$s 
 
(Пользователям AOL E-mail, потребуется скопировать эту ссылку и вставить в адресную строку браузера). 
 
------------------------------------------------ 
Не сработало? 
------------------------------------------------ 
Если у Вас ничего не получилось и Вы не смогли подтвердить свою регистрацию, зайдите по следующей ссылке: 
 
%2\$s/register.php?action=activate 
 
Там от Вас потребуется ввод ID регистрации и ключа подтверждения. Ниже указаны эти данные: 
 
ID регистрации: %5\$s 
Ключ подтверждения: %6\$s 
 
Скопируйте/Вставьте или введите эти данные вручную в соответствующие поля. 
Если и при этих действиях ничего не получилось, возможно, Ваш аккаунт уже удалён. 
В этом случае обратитесь к Администратору для разрешения проблемы. 
 
Если активация аккаунта прошла успешно Вы можете авторизоваться на форуме используя для входа следующие данные: 
 
Логин: %3\$s 
Пароль: %4\$s 
 
Логин и пароль чувствительны к регистру! 
 
Благодарим Вас за регистрацию! 
С уважением, Администрация форума \"%1\$s\" 
"; 
 
$this->LANG['SendPassEmail'] = "Здравствуйте, %3\$s, 
Это письмо отправлено с сайта %2\$s . 
Вы получили это письмо, так как Вы или кто-то другой воспользовался функцией восстановления пароля на форуме \"%1\$s\" ( %2\$s ). 
Если Вы не запрашивали пароль на этом форуме, просто проигнорируйте это письмо и удалите его. Вы больше не получите такого письма. 
До тех пор пока новый пароль не будет активизирован, Вы можете использовать свой старый пароль для входа на форум! 
 
------------------------------------------------ 
Инструкция по активации 
------------------------------------------------ 
Чтобы удостовериться, что именно Вы, а не кто-то другой запрашивал восстановление пароля, мы требуем от Вас подтверждения этой операции. 
Для подтверждения запроса и активации нового пароля Вам необходимо, в течении суток (24 часа), зайти по следующей ссылке: 
 
%2\$s/profile.php?action=activate&user=%4\$s&actid=%5\$s&code=%6\$s 
 
(Пользователям AOL E-mail, потребуется скопировать эту ссылку и вставить в адресную строку браузера). 
 
------------------------------------------------ 
Не сработало? 
------------------------------------------------ 
Если у Вас ничего не получилось и Вы не смогли подтвердить свой запрос, зайдите по следующей ссылке: 
 
%2\$s/profile.php?action=activate 
 
Там от Вас потребуется ввод Вашего ID на форуме, ID запроса и ключа подтверждения. Ниже указаны эти данные: 
 
Ваш ID на форуме: %4\$s 
ID запроса: %5\$s 
Ключ подтверждения: %6\$s 
 
Скопируйте/Вставьте или введите эти данные вручную в соответствующие поля. 
Если и при этих действиях ничего не получилось, возможно, истекло время отведенное на активацию нового пароля. 
В этом случае повторите запрос восстановления пароля повторно. 
 
Если активация запроса прошла успешно Вы можете авторизоваться на форуме используя для входа следующие данные: 
 
Логин: %3\$s 
Пароль: %7\$s 
 
Логин и пароль чувствительны к регистру! 
 
Благодарим Вас за регистрацию! 
С уважением, Администрация форума \"%1\$s\" 
"; 
/*   
 
но оно походу вам ничего не даст. А вообще напишите хостеру для начала | 
				 
				
					|   | 
					
						
						 
					 | 
				 
			 
            			
            			
            			
            			
            			
            			
            
					 |