Вход Регистрация
*— обязательные для заполнения поля
Войти через социальные сети

УСТАНОВКА

Установка модуля на сайт обычная, по кнопке Установить.

Т.к. модуль использует функцию custom_mail(), необходимо в файле
/bitrix/php_interface/init.php
Добавить вручную вначале такой вызов модуля
\Bitrix\Main\Loader::includeModule('api.mail');
И в админке добавится пункт меню
Сервисы - TS Умная почта - Настройки

НАСТРОЙКА

В настройках DKIM-подпись можно включить для каждого сайта отдельно.

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

По умолчанию в каждом поле есть подсказки, что нужно вводить, интуитивно все должно быть понятно

 d= 
Домен сайта без www
 s=
DKIM селектор, который в DNS, в TXT записи вначале до точки mail._domainkey.
Селектор может быть любой, часто это будет по умолчанию dkim или mail
 i=
Отправитель, желательно вписать e-mail, который у вас задан в настройках php.ini  в sendmail_from или sendmail_path
Чаще всего что-то типа: noreply@example.com
Данный почтовый ящик должен существовать и принимать запросы/почту.
 h= Заголовки, которые будут перечисляться в этом теге через двоеточие и участвовать в подписи письма закрытым ключом.
Желательно выбрать все три по умолчанию:
From, To, Subject
 Открытый ключ Необязательное поле, но желательно сохранить на будущее.
Который в DNS, в TXT записи mail._domainkey, в теге p=MIGfMA0.........AQAB

Форма записи именная такая, с комментарием вначале и в конце.

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCGePf6WOlKUSrRdcFyZpU5rAvU
S4g8kCfZa7HRoSOiu2+0fzhX3uSjscma+YWhL0Zl/0/D/fOkJEb2PaTyNbg/4mEq
ССf1o3m4p0HotSOO09otXBgFoGfydzjd95dBZWpLa02MIdzg+VhfIcy6lUgcEoXp
zukV52oQAsRZuzp4dQIDAQAB
-----END PUBLIC KEY-----
 Закрытый ключ
С помощью закрытого ключа подписывается заголовок письма DKIM-Signature
Форма записи именная такая, с комментарием вначале и в конце.

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCGePf6WOlKUSrRdcFyZpU5rAvUS4g8kCfZa7HRoSOiu2+0fzhC
3uSjscma+YWhL0Zl/0/D/fOkJEb2PaTyNbg/4mEqXXf1o3m4p0HotSOO09otXGgF
oGfydzjd95dBZWpLa02MIdzg+VhfIcy6lUgcEoXpzukV52oQAsRZuzp4dQIDAQAB
AoGBAIUFEuBtpVBjnESZBKQi/8iN/SGjGgA25YR4uOzSRssKOQTGuCPGE0wuaWzJ
7gfdB38pomdW7J19VA/Ol/5R/qYw32KxsDZxYxGUUXEk9hBHWyqydXi1HT1YQELR
MOuTHXiTKNt2p5YwxtOZAkBghM5DFlpOJd6r8uSM0sIoh7qrF1flJnpUC33rWsum
+Df4qnc9XwrpNsxa7G7axsY9VV13o9Vc5cHywfndry4c
-----END RSA PRIVATE KEY-----

Пример настроек для моего домена




На этом все, все настройки.

Вся исходящая с сайта почта будет подписываться DKIM-подписью, если все корректно настроено.

---------------------------------------------------------------------------------------------

А теперь, самое сложное, где взять Открытый/Public и Закрытый/Private ключи.

Яндекс.Почта для домена или Яндекс.Коннект
https://pdd.yandex.ru/
https://connect.yandex.ru/

Рассмотрим случай, когда ваш домен делегирован на DNS Яндекса и вы пользуетесь интерфейсом Яндекс.Почты для почтовых ящиков своего сайта.

Открытый / Public ключ
Перейдя по ссылкам выше, откройте настройки DNS, там уже должна быть автоматически созданная TXT-запись типа mail._domainkey, где в теге p= будет Открытый/Public ключ.
Аккуратно скопируйте содержимое тега и вставьте с комментариями перед и после, как я писал выше в таблице уже в настройках этого модуля.



Закрытый/Private ключ
В ПДД Яндекса получить закрытый ключ можно таким способом, он для вас будет очень сложный, держитесь, не падайте духом.

1) Получаем токен
https://pddimp.yandex.ru/api2/admin/get_token

Вернет что-то типа:
99GCCCKTHGNJXXETUTE5EIOS89BFCPMTA4UVW77NWN6NXCTQ77QL

2) Формируем вот такую строку запроса, чтобы получить закрытый ключ
https://pddimp.yandex.ru/api2/admin/dkim/status?domain=example.com&secretkey=yes&token=99GCCCKTHGNJXXETUTE5EIOS89BFCPMTA4UVW77NWN6NXCTQ77QL
В этой строке замените "домен" example.com на свой и "токен" на  полученный ранее.
Откройте это ссылку в браузере и она вернет вам json-массив с закрытым ключом, а также dkim  и открытый ключ.

Вернет что-то типа:
{"domain": "example.com", "dkim": {"enabled": "yes", "secretkey": "-----BEGIN RSA PRIVATE 
Но тут есть проблема, массив будет с переносами строк, просто скопировать значение  -----BEGIN RSA PRIVATE KEY----- нельзя, не будет работать, надо чем-то открыть или распечатать на экран данный массив, чтобы не было переносов в строке.

Можно это сделать в каком-нибудь JSON-вьювере или на PHP вот так, создайте отдельный php-файл, вставьте в переменную $q = '...' вашу json-строку  и откройте данный php-файл в браузере.
<?php
$q = '{"domain": "example.com", "dkim": {"enabled": "yes", "secretkey": "-----BEGIN RSA PRIVATE......}}';
$q = json_decode($q);
echo "<pre>"; print_r($q);echo "</pre>";
?>

Вот такое вы должны получить, можно смело выделять и копировать закрытый ключ, посторонних знаков переноса здесь уже нет.



Яндекс.Коннект
Если вы переехали с ПДД на Коннект, то Открытый и Закрытый ключи можно найти в админке вот здесь


DKIM Wizard
Еще можно генерировать данные ключи сторонними сервисами типа DKIM Wizard или утилитами сервера, или в панелях.
https://port25.com/dkim-wizard/

Вбиваете домен + селектор mail и получаете пару Закрытый и Открытый ключи, в DNS Яндекса вроде бы только 1024 бит подходит, не помню, но точно чем больше, тем будет лучше  и надежней это 2048 бит.

Что важно понимать
1) Если вы где-то отдельно сгенерировали ключи, то в DNS-записях домена надо обязательно добавить DKIM-запись и публичный ключ, потому что почтовик клиента, который будет получать письма с вашего сайта, будет смотреть публичный ключ в DNS-записи домена, и если он там будет отличаться, то DKIM-заголовок письма не пройдет проверку, в заголовке письма будет dkim=fail

2) После изменения DNS-записей домена может пройти 1-3 суток, пока они обновятся на всех остальных серверах провайдеров, примерно через сутки уже можно проверять, возможно и раньше письма начнут проходить проверку DKIM, пока не обновится запись.

3) Закрытый ключ публично нигде не виден и не должен передаваться третьим лицам, иначе от вашего имени смогут рассылать спам успешно доставляя письма в папку Входящие.

4) Открытый и Закрытый ключи не могут использоваться раздельно, на основе открытого ключа фомируется закрытый, если вдруг закрытый ключ станет доступен злоумышленникам, просто меняйте в DNS открытый ключ, ну и соответственно смените закрытый.

Возможные проблемы
Скорее всего у вас будут проблемы с пробелами и переносами в закрытом ключе, лучше сделайте все внимательно по инструкции, в крайнем случае напишите в ТП Яндекса, если у вас конечно домены к ним делегированы, если нет, то пишите в то ТП, где вы покупали Домен, ну или куда они там еще могут быть делегированы, я не в курсе.

--------------------------------------------------------------------------------------------

Посмотреть DKIM-заголовок можно в свойствах письма, или  в служебных заголовках, или показать оригинал, у кого как.

Тут смотрите два заголовка:

1) DKIM-Signature, чтобы все теги были аналогично заполнены, чтобы домен в письме совпадал с доменом сайта и отправитель письма был в доменной зоне, не user@yandexx.ru

2) Authentication-Results, его формирует почтовик, тут будет результат проверок, если все отлично, то: dkim=pass dmark=pass spf=pass, если что-то будет =fail, значит не прошел данный заголовок проверку, письмо смело летит в папку Спам.



--------------------------------------------------------------------------------------------

Замечена проблема, не все письма Битрикс отправляет с проверкой функции custom_mail().
Конкретно при изменении статусов заказа в режиме просмотра, там статусы меняются аяксом, чтобы это заработало, нужно в настройках главного модуля включить новую настройку:
Генерировать текстовую версию для html-писем



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


Комментарии
Авторизуйтесь, чтобы оставлять комментарии
История обновлений
7 дней назад
[+] Добавлена возможность переопределить свойства инфоблока для подсчета отзывов и рейтинга в модуле отзывов с помощью констант.
В файле /bitrix/php_interface/dbconn.php добавьте две константы со своими кодами свойств и все будет записываться:
define('API_REVIEWS_COUNT_PROP', 'API_REVIEWS_COUNT');
define('API_REVIEWS_RATING_PROP', 'API_REVIEWS_RATING');
11 дней назад
[+] Добавлена запись счетчика отзывов и рейтинга в свойства элемента инфоблока
Счетчик будет работать только если в настройках задана привязка к IBLOCK_ID и ELEMENT_ID
Автоматически у элемента создается два свойства API_REVIEWS_COUNT и API_REVIEWS_RATING
Теперь можно выводить свои рейтинги и счетчики в каталожных компонентах
[x] Исправлен счетчик отзывов, неактивные отзывы больше не считаются и для администраторов
[x] Ссылка на отзыв открывается в новом окне вместо алерта
[x] Временно отключено все кеширование
12 дней назад
[x] Фикс кнопки закрытия плагинов alert, modal, offcanvas
12 дней назад
[+] api_magnific_popup
12 дней назад
[+] Добавлен лайтбокс Magnific Popup для фото и видео
Обязательно обновите модуль TS Front-end framework до версии 1.12
14 дней назад
[x] Обновлен offcanvas
14 дней назад
[x] Добавлена очистка слеша справа в поле: http(s)-адрес сайта
17 дней назад
[x] Backdrop теперь будет подставляться после компонента поиска в том же контейнере, где сам поиск, чтобы не заморачиваться с z-index
[x] Ссылка на все результаты теперь выводится всегда
23 дня назад
[x] Изменения высоты результатов поиска на малых разрешениях
23 дня назад
[x] Фикс крестика очистки поискового запроса на мобилах