Активационная ссылка в письме домен рф

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Активационная ссылка в письме домен рф

Сообщение Rob13 » 04 окт 2017, 10:09

Подскажите как сделать активной ссылку подтверждения регистрации на сайте в случае домена в зоне рф?
Много пользователей не активируют аккаунт так как не понимают, что ссылку нужно скопировать в браузер самостоятельно, кликают на нее и ничего не выходит.


Приходит письмо такого содержания:

Ваша учётная запись ещё не активна. Вы не сможете ей пользоваться, пока не перейдёте по следующей ссылке: http://сайт.рф/site/activation?key=08d635f4832ae141caa3d9de59201056

Данная ссылка в письме не кликабельна (не активна).

При внесении изменений в шаблон письма для пользователя если взять переменную {activateLink} и сделать ее ссылкой, то приходит письмо вида http://сайт.рф/site/activation?key=08d635f4832ae141caa3d9de59201056 но при открытии браузера кириллица заменяется знаками вопросов и получаем ссылку вида http://???-???????????.??/site/activation?key=08d635f4832ae141caa3d9de59201056caa3d9de59201056

Как заменить кириллицу на пуникод в переменной {activateLink} чтобы активная ссылка была рабочей http://xn--80aswg.xn--p1ai/site/activat ... de59201056 ???




Пожалуйста помогите! Версия FREE V1.16.1
Вложения
22.png
22.png (60.96 КБ) Просмотров: 7329
Rob13
Прохожий
 
Сообщения: 26
Зарегистрирован: 07 мар 2016, 13:34
Откуда: Краснодар
Очки репутации: 0

Re: Активационная ссылка в письме домен рф

Сообщение Xpycm » 04 окт 2017, 12:49

Скачайте последнюю бесплатную версию с нашего сайта

Распакуйте архив.
Скопируйте папку protected\extensions\idna\ к себе на сайт по такому же пути.

В распакованном архиве, в файле protected\modules\notifier\components\Notifier.php найдёте строки, в которых есть IdnaConvert::checkDecode
Их все надо скопировать в ваш файл protected\modules\notifier\components\Notifier.php на сервере в те же строки по логике работы.

Например:
Код: Выделить всё
...
$body str_replace('{host}'IdnaConvert::checkDecode(Yii::app()->request->hostInfo), $body);
$body str_replace('{fullhost}'IdnaConvert::checkDecode(Yii::app()->getBaseUrl(true)), $body);
...
$body str_replace('{url}'IdnaConvert::checkDecode($url), $body);
....
$body str_replace('{'.$field.'}'IdnaConvert::checkDecode($val), $body);
... 
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Активационная ссылка в письме домен рф

Сообщение Rob13 » 04 окт 2017, 17:04

Спасибо за ответ. К сожалению ничего не изменилось. На скриншоте навел курсор на ссылку
Вложения
33.png
33.png (21.06 КБ) Просмотров: 7322
Rob13
Прохожий
 
Сообщения: 26
Зарегистрирован: 07 мар 2016, 13:34
Откуда: Краснодар
Очки репутации: 0

Re: Активационная ссылка в письме домен рф

Сообщение Xpycm » 04 окт 2017, 20:29

Такое ощущение, что вы пользуетесь какой-то почтовой программой и она не понимает что ей надо отобразить в ссылке кириллицу.

Попробуйте открыть письмо в другой почтовой программе, а также в браузере (например: зарегистрировать нового пользователя с почтой @gmail и посмотреть письмо на gmail.com в браузере)


Ещё можно попробовать следующий вариант:

Файл protected\modules\notifier\components\Notifier.php

В методе private function _processEvent($rule, $model, $to, $toModerators = false)

в самый верх этого метода (скорее всего до строки $user = $this->getFromParam('user'); )
вставьте:
Код: Выделить всё
$idna = new IdnaConvert(); 

и замените:
Код: Выделить всё
IdnaConvert::checkDecode

на:
Код: Выделить всё
$idna->encode


Этот код должен вместо кириллического домена отобразит Punycode (пуникод) и вместо пгт-яблоновский.рф будет xn----btbdb2agfgsjbf8ag0r.xn--p1ai
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Активационная ссылка в письме домен рф

Сообщение Rob13 » 04 окт 2017, 23:47

Спасибо за помощь. Проблема оказалась в почтовом клиенте TheBat. В браузере как почта яндекс, так google адекватно открывали ссылку без конвертации в пуникод. Но многие полагаю пользуются данной программой, поэтому внес изменения в файл Notifier.php . Некрасиво, зато практично )
Rob13
Прохожий
 
Сообщения: 26
Зарегистрирован: 07 мар 2016, 13:34
Откуда: Краснодар
Очки репутации: 0

Re: Активационная ссылка в письме домен рф

Сообщение Xpycm » 05 окт 2017, 12:54

Вам спасибо, что написали на форум.
Возможно, кому-то в будущем также поможет это решение
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16