Конфигурационный файл размещается в modules/core/config/mail.php
. Стандартно используется опция default
, для которой задан драйвер sendmail
:
'default' => array (
'driver' => 'sendmail',
),
вместо sendmail
укажите драйвер smtp
.
Далее настройте секцию с параметрами драйвера smtp
:
'smtp' => array (
'driver' => 'smtp',
'username' => 'address@domain.com', // Логин
'password' => 'password', // Пароль
'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.server.com
'port' => 25, // Порт, для SSL укажите порт 465
'timeout' => 10,
'log' => FALSE,
'options' => array(
'ssl' => array(
'verify_peer' => FALSE,
'verify_peer_name' => FALSE,
'allow_self_signed' => TRUE
)
)
)
Если необходим TLS, то установите опцию tls в TRUE:
'smtp' => array (
'driver' => 'smtp',
...
'tls' => TRUE,
'timeout' => 10,
...
)
Если адрес электронной почты отличается от username, то используйте дополнительную опцию from с указанием адреса электронной почты:
'smtp' => array (
'driver' => 'smtp',
'username' => 'username', // Логин
'password' => 'password', // Пароль
'from' => 'address@domain.com', // Адрес эл. почты
'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.server.com
'port' => '25', // Порт, для SSL укажите порт 465
'options' => array(
'ssl' => array(
'verify_peer' => FALSE,
'verify_peer_name' => FALSE,
'allow_self_signed' => TRUE
)
)
)
Для отладки включите опцию 'log' в значение TRUE, не забудьте отключить опцию после завершения отладки, так как данные имеют большой размер в логах.
Возможно отдельное задание опций отправки почты для выбранных сайтов, при этом для неуказанных отдельно сайтов будут использоваться общие параметры.
'smtp' => array (
'driver' => 'smtp',
// Общие настройки для всех сайтов
'username' => 'address@domain.com', // Адрес электронной почты
'port' => '25', // Порт, для SSL укажите порт 465
'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.server.com
'password' => 'password', // Пароль
// Индивидуальные настройки для сайта с ID 17
17 => array(
'username' => 'address2@domain2.com', // Адрес электронной почты
'port' => '25', // Порт, для SSL укажите порт 465
'host' => 'smtp.server.com', // для SSL используйте ssl://smtp.server.com
'password' => 'password', // Пароль
)
)
Отдельное указание доступно с версии 6.5.9. Секция 'options' добавлена в версии 6.6.8. Поддержка TLS и указание timeout добавлены в версии 6.8.4.
Для подключения к почтовому ящику Яндекс из стороннего приложения не подходит обычный пароль, который используется для входа в учетную запись на Яндексе, создайте специальный пароль приложения.
Также может понадобиться разрешить доступ к почтовому ящику с помощью почтовых клиентов, для этого в почте выберите Все настройки → Почтовые программы.
для в сех сайтов с учетом того что емейлы у всех сайтов разные! соответственно смтп нужно для каждого сайта отдельное
С версии 6.5.9 данное решение будет доступно.
И как именно это сделать?
В файл /modules/core/config/mail.php в какие именно части нужно добавить настройки для конкретного id сайта?
Выше пример с 17 сайтом:
// Индивидуальные настройки для сайта с ID 17
17 => array( ...
Это получаются индивидуальные настройки сайта для smtp.
А нельзя аналогичным образом указать прям индивидуальные настройки сайта? Ну, допустим, чтобы дефолтным драйвером системы был sendmail, а конкретный сайт использовал smtp
Если у нас на одном движке стоит несколько сайтов, то этот способ перехода на СМТП будет действовать для какого сайта?
Как сделать СМТП для всех сайтов?