Не работает отправка почты на хостинге



  • Здравствуйте! В контактной форме при попытке отправить сообщение появляется сообщение: 'Ошибка. Неправильный код". Пробовал несколько раз. Данные введены верно. В чем ошибка? Где можно посмотреть этот код с капчей? Либо просто убрать её? В админской части ничего не нашёл.



  • появляется сообщение: 'Ошибка. Неправильный код". Пробовал несколько раз. Данные введены верно. В чем ошибка?

    Покажите скриншот. Скорее всего не настроена отправка почты через SMTP и после того как вводите капчу ничего не происходит. В настройках нужно заполнить поля, которые относятся к почте и SMTP.

    Либо просто убрать её?

    В стандартном шаблоне форма подключается в поле "Прикрепить форму" (страница "Контакты"). Чтобы убрать капчу, нужно убрать строку в файле "config/resources/forms/contacts.yaml":

    - { name: captcha, label: Captcha, type: CaptchaType }
    

    Документация:
    https://shopker.org/documentation/forms



  • Пользователь @Admin написал в Не работает капча на хостинге:

    Покажите скриншот. Скорее всего не настроена отправка почты через SMTP и после того как вводите капчу ничего не происходит. В настройках нужно заполнить поля, которые относятся к почте и SMTP.

    А как настроить SMTP в каком файле?

    В smtp.php сейчас

    <?php

    $container->loadFromExtension('swiftmailer', [
    'transport' => 'smtp',
    'username' => 'user',
    'password' => 'pass',
    'host' => 'example.org',
    'port' => '12345',
    'encryption' => 'tls',
    'auth-mode' => 'login',
    'timeout' => '1000',
    'source_ip' => '127.0.0.1',
    'logging' => true,
    'local_domain' => 'local.example.org',
    ]);

    _tMgtLпп.jpg



  • А как настроить SMTP в каком файле?

    В разделе "Настройки" в админке.

    Желательно ещё показать картинку до того как нажимаете кнопку, чтобы было видно, что код вводите верно.



  • Вот сейчас сообщение, что письмо успешно отправлено, но реально на почту ничего не приходит. Может быть, ещё какие-то настройки нужны? host1810008.hostland.pro.png



  • У вас не указан хост SMTP сервера. 127.0.0.1 - это IP адрес локального сервера, что для Mail.ru не верно.
    Ещё в адресе почты (параметр "Почта - Имя пользователя") какие-то пробелы в начале. В адресе почты администратора тоже пробелы нужно убрать.

    Все параметры SMTP нужно искать в справочной информации почтового сервиса. Для Mail.ru сервер: smtp.mail.ru

    https://help.mail.ru/mail/mailer/popsmtp



  • "Ещё в адресе почты (параметр "Почта - Имя пользователя") какие-то пробелы в начале. В адресе почты администратора тоже пробелы нужно убрать" - нет, это не ошибка, я специально изменил адрес, чтобы не светить здесь.

    Проблема так и не решилась. Я дал доступ тех.поддержке хостинга к админке и мне ответили:
    Здравствуйте, попробовали отправку через наш сервер, для просмотра лога - не вышло. Форма отправки не сообщает об ошибке при этом на сервере не фиксируем даже попытки подключения на указанные порты. Предполагаем что проблема в CMS. При сохранении настроек сообщается об ошибке в строках JSON, проверьте на сколько это критично".

    К примеру, в админке, если менять данные email, то выпадает ошибка SyntaxError: Unexpected token < in JSON at position 1266

    Вот настройки хостинга https://help.mail.ru/mail/mailer/popsmtp

    Mетолего - host1810008.hostland.pro.png



  • При сохранении настроек сообщается об ошибке в строках JSON

    Настройки сохраняются? Вы можете это проверить, открыв файл /config/settings.yaml. Кстати, сюда можно скидывать не скриншот настроек, а содержимое этого файла, так удобнее.

    Если есть ошибка при сохранении, то смотрите логи ошибок на сервере или в файле /var/log/prod.log.

    Если есть возможность использования SSH, то можно перейти в корневую папку сайта и запустить команду:

    php bin/console swiftmailer:email:send
    

    Там будет диалог, где нужно ввести адрес отправителя, адрес получателя и т.д. После действий должна быть информация о проблеме.

    Можете в ЛС мне скинуть доступы, я посмотрю.



  • Ещё возможный вариант: настройки в файл сохраняются, но не очищается кэш сайта. Что происходит когда вызываете очистку кэша вручную? - кнопка в настройках "Очистить кэш" -> "Очистить системный кэш". Возможно, проблема с правами на запись в папке кэша, можно попробовать вручную удалить папку /var/cache/prod.



  • Пользователь @Admin написал в Не работает отправка почты на хостинге:

    /config/settings.yaml

    Да, настройки сохраняются после изменений в админке

    parameters:
        locale: ru
        app.locale_list: 'ru,en'
        app.name: Mетолего
        mongodb_server: 127.0.0.1
        mongodb_port: '27017'
        mongodb_user: ''
        mongodb_password: ''
        mongodb_database: db1
        mongodb_uri: null
        mailer_transport: smtp
        mailer_host: smtp.mail.ru
        mailer_port: '465'
        mailer_encryption: ssl
        mailer_auth_mode: login
        mailer_user: 1@mail.ru
        mailer_password: server111
        app.display_errors: 1
        app.catalog_page_size: '12,24,60'
        app.catalog_default_order_by: id_desc
        app.search_collections: products
        app.checkout_fields: 'options,email,fullName,phone,deliveryName,paymentName,comment'
        app.template_theme: default
        app.admin_email: 1@mail.ru
        app.payment_status_number: 1
        app.payment_status_after_number: 2
        app.order_status_canceled_number: 6
        app.max_user_files_size: 10
        app.max_temp_files_keep_minutes: 30
        app.tax_system: usn_income
        app.nds_rate: vat20
        app.payment_method: full_prepayment
        app.payment_object: commodity
        app.receipt_option_name: receipt
        app.shopping_cart_lifetime: 172800
        app.shopping_cart_lifetime_favorites: 0
        app.pay_after_checkout: 0
        router.request_context.host: localhost
        router.request_context.scheme: http
        router.request_context.base_url: ''
    
    

    По SSH сейчас нет возможности подключиться т.к. на сайте тестовый период.

    Что происходит когда вызываете очистку кэша вручную? - кнопка в настройках "Очистить кэш" -> "Очистить системный кэш"

    SyntaxError: Unexpected token < in JSON at position 16

    Возможно, проблема с правами на запись в папке кэша, можно попробовать вручную удалить папку /var/cache/prod.

    Сейчас папка переименована в prodd, но если в в админке пробовать очистить системный кеш, то ошибка в json снова вылетает.

    Скинул Вам доступы здесь в чат.



  • Оказалось это давнишняя проблема с очисткой кэша:
    https://github.com/symfony/symfony/issues/25654

    Её исправили, но видимо работает только, если очищать кэш из терминала. В ближайшее время дам решение.

    Временное решение:

    1. Редактировать настройки только в файле (не в админке) /config/settings.yaml.

    2. Очищать системный кэш только удалением папки /cache/prod. Из админки кэш не очищать!

    3. На Mail.ru письмо почему-то попадает не во "Входящие", а в раздел "Рассылки".

    Если смотреть лог /var/log/prod.log, то там была ошибка:
    screenshot_043.png



  • Сейчас пробую отправлять письмо из формы, но по прежнему, на мой ящик ничего не приходит - ни во входящие, ни в рассылки ни в спам.

    "Очищать системный кэш только удалением папки /cache/prod. Из админки кэш не очищать!"

    И как часто нужно удалять эту папку /cache/prod?

    Надеюсь, у Вас все же найдётся решение. Или, может, стоит сейчас поискать какой-нибудь другой плагин для отправки писем по типу модалки или он-лайн чат прикручивать. Только будет ли это работать, если проблема в кэше?



  • Проверьте правильно ли указали пароль от почтового ящика в параметре "mailer_password". Я проверял на Вашем сайта свой ящик на Mail.ru.

    И как часто нужно удалять эту папку /cache/prod?

    После редактирования конфигурационных файлов, шаблонов.



  • Похоже, у Вас был указан не верный пароль от почты.

    Сейчас проверил с Вашим тестовым ящиком. В логе такое:

    [2020-03-02 20:11:54] app.ERROR: Exception occurred while flushing email queue:
    Expected response code 250 but got code "550", with message "550 spam message rejected.
    Please visit http://help.mail.ru/notspam-support/id?c=V78iMeoa-RONpCCTEPfReH7Gg6Dpkt6- FZx8xNEoQwwGDSXLheFlOULv72AXf9KXYKKcj1vWS9Axxxxxxxxx~
    or  report details to abuse@corp.mail.ru.
    Error code: 3122BF5713F91AEA9320A48D78D1F710A083C67EBEDE92E9C47C9C150C4328D1CB250D063965E18560EFEF4297xxxxxx.
    ID: 0000002700007B503xxxxxx. " [] []
    

    Нужно перейти по ссылке и заполнить форму, чтобы письмо в будущем не помечалось как спам. Почему сами не можете смотреть логи?

    Поэтому использовать почту Mail.ru для сайта не рекомендуется. Лучше используйте Яндекс, с ним меньше всего проблем.

    Только будет ли это работать, если проблема в кэше?

    Пока не знаю, у меня другие сайты работают. Проблема только при очистке кэша (ошибка), но, возможно, на работу это не влияет. Т.е. предположително ошибка сама исчезает после того как любая страница будет загружена после очистки.



  • Спасибо. С яндексом настроилось.



  • С очисткой кэша я проверил, проблема есть. Пока используйте временное решение. о котором писал выше. Нормально решение будет через 1 - 2 дня.



  • Решение в архиве. Нужно распаковать архив и заменить файлы. Но от маил.ру в любом случае нужно отказаться, там постоянные проблемы.

    📦 4.1.6_update.zip



  • @Admin Здравствуйте! После замены файлов архива на хостинге на след. день сайт не открылся. Error 404 ```
    Too few arguments to function App\Controller\DefaultController::__construct(), 0 passed in /home/host1811538/host1811538.hostland.pro/htdocs/var/cache/prod/Container6Y86eny/getDefaultController4Service.php on line 15 and exactly 1 expected - /src/App/Controller/DefaultController.php (46) После удаления папки prod
    исчез слайдер на главной странице.



  • Вижу, что старый адрес не работает. Если устанавливаете заново, то никакие файлы заменять после установки не нужно. Нужно скачать последнюю версию здесь https://shopker.org/digital_goods/my_purchases и её устанавливать.


Авторизуйтесь, чтобы ответить