Левитан
  • Живая лента
  • Написать мне
  • Поиск
  • 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 – пишите мне. Удачи.

    18 октября 2017 г.

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

    07 октября 2017 г.

    Оживляем навигаторы SHTURMANN

    06 октября 2017 г.

    Ударения в профессиональной речи

    03 октября 2017 г.

    Ударения. История создания