Skip to content

Важное с Sysman.Ru: Ошибка при отправке писем с форума через SMTP

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;            }

Featured Replies

No posts to show
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.