При каждом важном событии происходящем на торговой площадке (например покупка товара или отзыв) формируется почтовое уведомление, которое должно быть доставлено конечному пользователю. Уведомление сохраняется в таблице `message_queue` представляющей собой очередь из email сообщений, которые обрабатываются при помощи планировщика задач (cron).
Для отправки писем мы рекомендуем использовать внешний SMTP сервер. Внешний SMTP сервер может быть представлен вашим интернет-провайдером, хостинг-провайдером, различными почтовыми сервисами и т.п.
На сегодняшний день наиболее популярные почтовые сервисы, такие как Gmail, Yandex.mail и Mail предоставляют возможность отправки почтовых писем через свои службы. Ниже приведены примерные настройки этих сервисов.
Настройки производятся в конфигурационном файле /common/config/env.php
Пример настройки SMTP mail.ru
'mail' => [
'class' => 'common.extensions.mail.YiiMail',
'viewPath' => 'frontend.views.mail',
'logging' => true,
'transportType' => 'smtp',
'transportOptions' => [
'host' => 'ssl://smtp.mail.ru',
'username' => 'demo@molotoksoftware.com',
'password' => 'password',
'port' => '465',
],
],
Пример настройки SMTP gmail.com
При использовании сервисов от gmail.com, потребуется дополнительно разрешить отправку писем с неподтвержденных устройств (в настройках gmail).
'mail' => [
'class' => 'common.extensions.mail.YiiMail',
'viewPath' => 'frontend.views.mail',
'logging' => true,
'transportType' => 'smtp',
'transportOptions' => [
'host' => 'ssl://smtp.gmail.com',
'username' => 'user@gmail.com',
'password' => 'password',
'port' => '465',
],
],
Пример настройки SMTP yandex.ru
'mail' => [
'class' => 'common.extensions.mail.YiiMail',
'viewPath' => 'frontend.views.mail',
'logging' => true,
'transportType' => 'smtp',
'transportOptions' => [
'host' => 'ssl://smtp.yandex.ru',
'username' => 'user@yandex.ru',
'password' => 'password',
'port' => '465',
],
],В случае крайней необходимости можно прибегнуть к отправке почты через SMTP собственного сервера либо функции php mail(). Необходимые параметры можно уточнить у хостера.
Примерные настройки через SMTP сервера
'mail' => [
'class' => 'common.extensions.mail.YiiMail',
'viewPath' => 'frontend.views.mail',
'logging' => true,
'transportType' => 'smtp',
'transportOptions' => [
'host' => 'localhost',
'username' => 'postmaster@domain.com',
'password' => 'password',
'port' => '25',
],
],
Примерные настройки через php mail()
'mail' => [
'class' => 'common.extensions.mail.YiiMail',
'viewPath' => 'frontend.views.mail',
'logging' => true,
'transportType' => 'mail',
],