Опубликовано: 8 мая 200718 г Song: Симтомы: при настроенной отправке через форум в SMTP режиме не отправляется почта с заголовками на русском языке. В логах видим что-то подобное:Цитата IPB ОШИБКА: Не возможно отправить сообщение SMTP КОД: Нет информации SMTP ОШИБКА: Нет информации Исправление:Найти:Цитата (class_email.php) [color=green]/*-------------------------------------------------------------------------*/[/color] [color=green]// ENCODE HEADERS - RFC2047[/color] [color=green]/*-------------------------------------------------------------------------*/[/color] [b]function[/b] encode_headers( [color=#048284]$headers[/color] = [b]array[/b]() ) { [color=#048284]$enc_headers[/color] = count([color=#048284]$headers[/color]) ? [color=#048284]$headers[/color] : [color=#048284]$this[/color]->mail_headers; [b]foreach[/b]( [color=#048284]$enc_headers[/color] [b]as[/b] [color=#048284]$header[/color] => [color=#048284]$value[/color]) { [b]if[/b]( [color=#048284]$header[/color] == 'From' ) { [color=green]// Either sendmail or the email servers don't like 'From' encoded...let's remove the board name[/color] [color=green]// and just move along, as email address cannot contain nasty characters themselves[/color] [color=#048284]$this[/color]->mail_headers['From'] = [color=#048284]$this[/color]->from; [color=#048284]$enc_headers[/color]['From'] = [color=#048284]$this[/color]->from; continue; } Добавить после: [b]if[/b]( [color=#048284]$header[/color] == 'Subject') { [color=#048284]$value[/color]= '=?' .[color=#048284]$this[/color]->char_set .'?B?' .base64_encode([color=#048284]$value[/color]) .'?='; [b]if[/b]( !count([color=#048284]$headers[/color]) ) { [color=#048284]$this[/color]->mail_headers[ [color=#048284]$header[/color] ] = [color=#048284]$value[/color]; } [b]else[/b] { [color=#048284]$enc_headers[/color][ [color=#048284]$header[/color] ] = [color=#048284]$value[/color]; } continue; }
Song:
Симтомы: при настроенной отправке через форум в SMTP режиме не отправляется почта с заголовками на русском языке. В логах видим что-то подобное:
SMTP КОД: Нет информации
SMTP ОШИБКА: Нет информации
Исправление:
Найти:
[color=green]/*-------------------------------------------------------------------------*/[/color] [color=green]// ENCODE HEADERS - RFC2047[/color] [color=green]/*-------------------------------------------------------------------------*/[/color] [b]function[/b] encode_headers( [color=#048284]$headers[/color] = [b]array[/b]() ) { [color=#048284]$enc_headers[/color] = count([color=#048284]$headers[/color]) ? [color=#048284]$headers[/color] : [color=#048284]$this[/color]->mail_headers; [b]foreach[/b]( [color=#048284]$enc_headers[/color] [b]as[/b] [color=#048284]$header[/color] => [color=#048284]$value[/color]) { [b]if[/b]( [color=#048284]$header[/color] == 'From' ) { [color=green]// Either sendmail or the email servers don't like 'From' encoded...let's remove the board name[/color] [color=green]// and just move along, as email address cannot contain nasty characters themselves[/color] [color=#048284]$this[/color]->mail_headers['From'] = [color=#048284]$this[/color]->from; [color=#048284]$enc_headers[/color]['From'] = [color=#048284]$this[/color]->from; continue; }Добавить после: