Левитан
  • Живая лента
  • Написать мне
  • Поиск
  • HostCMS 6. Не отправляются письма из магазина

    HostCMS 6. Не отправляются письма из магазина

    Интернет-магазины на HostCMS периодически «заглючивают» на этапе отправки письма администратору магазина и пользователю, который совершил заказ. Заказ, разумеется, отображается в административной панели, но вот Email-оповещение не приходит.

    Такая же ситуация может возникать и с другими модулями HostCMS, не только в интернет-магазине.

    Проблема может быть в двух случаях:

    1. На вашем хостинге отключена функция mail().
    2. Неверно настроен драйвер для отправки Email.

    На вашем хостинге отключена функция mail().

    В первом случае это можно легко проверить, путем создания php-файла (скрипта) в пару строк, где первым параметром функции mail() укажите вашу электронную почту, на которое придёт тестовое письмо:

    <?php
    echo mail('ваш@mail.ru', 'Проверка почты', 'Отправка писем успешно работает');
    

    Сохраняем, переносим этот файл на хостинг и открываем через браузер. Допустим, вы назвали файл test.php, а адрес вашего сайта http://myweb.com. Значит, перейти надо на http://myweb.com/test.php

    Если вы увидите цифру 1, значит, письмо отправилось. Далее, оно должно дойти на указанный вами Email. Проверьте также спам. Если письмо пришло - первый вариант мы отбрасываем.

    Кстати, если вы самостоятельно не можете проделать эту операцию или вы ничего не увидели на экране во время проверки скрипта – обратитесь к вашему хостинг-провайдеру: они сделают всё за вас.

    Перейдем ко второму случаю.

    Неверно настроен драйвер для отправки Email.

    Второй вариант также не очень сложный. Поддержка HostCMS отправляет всех пользователей с такой проблемой на страницу документации. Там описан процесс настройки SMTP вместо sendmail. Делаем всё, как указано на странице:

    Находим в файлах вашей системы HostCMS конфигурационный файл по адресу modules/core/config/mail.php

    Открываем его в текстовом редакторе:

    <?php
    
    return array (
    	'default' => array (
    		'driver' => 'sendmail',
    	),
    	'sendmail' => array (
    		'driver' => 'sendmail',
    	),
    	'smtp' => array (
    		'driver' => 'smtp',
    		'username' => 'address@domain.com',
    		'port' => '25', // для SSL порт 465
    		'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.gmail.com
    		'password' => ''
    	)
    );
    
    

    В документации указано множество дополнительных настроек, но на практике они вам не нужны. Находим код:

    
        'smtp' => array (
            'driver' => 'smtp',
            'username' => 'address@domain.com',
            'port' => '25', // для SSL порт 465
            'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.gmail.com
            'password' => ''
        )
    

    Здесь указываем настройки вашего SMTP-ящика. Обязательно укажите полностью ваш Email-адрес ('username') и пароль ('password').

    Допустим, если у вас Яндекс-почта, то настройки будут такие:

    
        'smtp' => array (
            'driver' => 'smtp',
            'username' => 'ЛОГИН@yandex.ru',
            'port' => '465', // для SSL порт 465
            'host' => 'ssl://smtp.yandex.ru', // для SSL используйте ssl://smtp.gmail.com
            'password' => 'ПАРОЛЬ'
        )
    

    Или Gmail:

    
    	'smtp' => array (
    		'driver' => 'smtp',
    		'username' => 'ЛОГИН@gmail.com',
    		'port' => '465', // для SSL порт 465
    		'host' => 'ssl://smtp.gmail.com', // для SSL используйте ssl://smtp.gmail.com
    		'password' => 'ПАРОЛЬ'
    	)
    

    Или Mail.ru:

    
    	'smtp' => array (
    		'driver' => 'smtp',
    		'username' => 'ЛОГИН@mail.ru',
    		'port' => '465', // для SSL порт 465
    		'host' => 'ssl://smtp.mail.ru', // для SSL используйте ssl://smtp.gmail.com
    		'password' => 'ПАРОЛЬ'
    	)
    

    После внесения ваших настроек необходимо изменить выбор почтового драйвера по умолчанию. Это делается в этом же файле (строки 4-6). Вместо:

    
    	'default' => array (
    		'driver' => 'sendmail',
    	),
    

    Укажем:

    
    	'default' => array (
    		'driver' => 'smtp', // заменить 'sendmail' на 'smtp'
    	),
    

    Вот файл целиком:

    <?php
    
    return array (
    	'default' => array (
    		'driver' => 'smtp',
    	),
    	'sendmail' => array (
    		'driver' => 'sendmail',
    	),
    	'smtp' => array (
    		'driver' => 'smtp',
    		'username' => 'ЛОГИН@mail.ru',
    		'port' => '465', // для SSL порт 465
    		'host' => 'ssl://smtp.mail.ru', // для SSL используйте ssl://smtp.gmail.com
    		'password' => 'ПАРОЛЬ'
    	)
    );
    

    Настройки для вашей почты можно найти в Интернете с ключевым словом SMTP.

    Если вас интересует профессиональная разработка сайтов на HostCMS – пишите мне. Удачи.

    05 декабря 2023 г.

    Компания «Наносемантика» синтезирует «голос Победы» Юрия Левитана к юбилею диктора

    05 ноября 2022 г.

    100 слов, в которых неверно ставят ударение

    06 февраля 2022 г.

    KILO.Push

    20 мая 2021 г.

    Сергей Миронов провел встречу с правнуком диктора Юрия Левитана

    02 мая 2020 г.

    Ударения 4.0

    07 октября 2019 г.

    Как обновить Windows 10 до профессиональной версии

    20 августа 2019 г.

    Быстрая зарядка iPhone

    19 августа 2019 г.

    Подробная расшифровка аббревиатур сигналов и напряжений на схемах Apple

    18 августа 2019 г.

    Определение модели iPad

    17 августа 2019 г.

    Определение моделей iPhone

    14 августа 2019 г.

    Сравнение и спецификации моделей iPhone

    13 августа 2019 г.

    MediaMetrics: свежие котировки новостей