Для тех, кто не спит!
Скидка -15%
Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307  Горячая линия
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

2.13.4.1.7. Ошибка RCPT TO not accepted from server

Ошибка «RCPT TO not accepted from server» в OpenCart чаще всего возникает в том случае, если сайт пытается произвести отправку письма с некорректным адресом отправителя. По умолчанию OpenCart в заголовке from использует почтовый ящик магазина, из-за чего и возникает подобная проблема.

Внимание! Ошибка «RCPT TO not accepted from server» отдается скриптами самого OpenCart и чаще всего никак не связана с адресом получателя, так как возвращается при обработке адреса отправителя.

Решить данную проблему можно несколькими способами:

Чтобы изменить почтовый ящик магазина, выполните следующее:

  1. Перейдите в раздел «Система → Настройки» («System → Settings»):
  2. Справа от названия магазина нажмите «Редактировать» («Edit»):
  3. Переключитесь на вкладку «Магазин» («Store») (в некоторых версиях может потребоваться переход в раздел «Основное» («Main»)):
  4. В поле «E-Mail» укажите почтовый ящик, на который нужно получать письма и который будет указан в настройках подключения к SMTP (дополнительные ящики можно будет указать позже):

Чтобы исправить работу отправки писем, отредактируйте некоторые строки в файле system/library/mail/smtp.php, а именно:

  • В строке 27 найдите такой код:
    $header .= 'From: =?UTF-8?B?' . base64_encode($this->from) . '?= <' . $this->from. '>' . PHP_EOL;

    И замените его на такой:

    $header .= 'From: =?UTF-8?B?' . base64_encode($this->smtp_username) . '?= <' . $this->smtp_username . '>' . PHP_EOL;
  • В строке 27 найдите такой код:
    fputs($handle, 'MAIL FROM: <' . $this->from . '>XVERP' . "\r\n");

    И замените его на такой:

    fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>XVERP' . "\r\n");
  • В строке 27 найдите такой код:
    fputs($handle, 'MAIL FROM: <' . $this->from. '>' . "\r\n");

    И замените его на такой:

    fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>' . "\r\n");

После изменений проверьте отправку писем. Обратите внимание, что в качестве отправителя будет указываться почтовый ящик, к которому производится подключение по SMTP. Также следует понимать, что при обновлении или установке некоторых расширений может потребоваться повторно произвести изменения.