Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Модули для DLE » Симпатичный шаблон письма восстановления пароля

Симпатичный шаблон письма восстановления пароля


     04.03.2017    Модули для DLE    5974    15 комментариев

Краткая информация о модуле (хаке)

Автор: Sander
Версия DLE: почти любая
Цена: Бесплатно
Письмо примет следующий вид:
Симпатичный шаблон письма восстановления пароля


Установка
В папке с шаблоном создать папку email и в ней файл lostpassword.tpl с содержимым:


Открыть файл engine/modules/lostpassword.php
Для DLE 10.6 и младше
Найти и удалить строки:
			include_once ENGINE_DIR . '/classes/mail.class.php';
			$mail = new dle_mail( $config );

			if ($config['auth_metod']) $username = $lostmail;

			$message = $lang['lost_npass']."\n\n{$lang['lost_login']} {$username}\n{$lang['lost_pass']} {$new_pass}\n\n{$lang['lost_info']}\n\n{$lang['lost_mfg']} ".$config['http_home_url'];
			$mail->send( $lostmail, $lang['lost_subj'], $message );


Вместо них вставить:
			$mail = new dle_mail( $config, true );
			$tpl->load_template("email/lostpassword.tpl");
			$tpl->set('{login}', $row['name']);
			$tpl->set('{site-link}', "<a href=\"$slink\">$slink</a>" );
			$tpl->set('{lost-link}', $lostlink );
			$tpl->set('{ip-link}', $iplink );
			$tpl->set('{ip}', get_ip());
			$tpl->compile('email_lostpassword');
			$tpl->clear();

			$mail->send( $lostmail, $lang['lost_subj'], $tpl->result['email_lostpassword'] );


Для DLE 11 и старше
Найти и удалить строки:
			$row = $db->super_query( "SELECT * FROM " . PREFIX . "_email where name='lost_mail' LIMIT 0,1" );
			$mail = new dle_mail( $config, $row['use_html'] );
			
			$row['template'] = stripslashes( $row['template'] );


Ниже найти и удалить строки:
			if( $row['use_html'] ) {
				$link = $lang['lost_password']."<br />".$lostlink."<br /><br />".$lang['lost_ip']."<br />".$iplink;
			} else {
				$link = $lang['lost_password']."\n".$lostlink."\n\n".$lang['lost_ip']."\n".$iplink;
			}
			
			$db->query( "DELETE FROM " . USERPREFIX . "_lostdb WHERE lostname='$userid'" );
			
			$db->query( "INSERT INTO " . USERPREFIX . "_lostdb (lostname, lostid) values ('$userid', '$lostid')" );
			
			$row['template'] = str_replace( "{Гость}", $lostname, $row['template'] );
			$row['template'] = str_replace( "{%lostlink%}", $link, $row['template'] );
			$row['template'] = str_replace( "{%ip%}", get_ip(), $row['template'] );
			
			$mail->send( $lostmail, $lang['lost_subj'], $row['template'] );

И вместо них вставить:
			$mail = new dle_mail( $config, true );
			$tpl->load_template("email/lostpassword.tpl");
			$tpl->set('{login}', $row['name']);
			$tpl->set('{site-link}', "<a href=\"$slink\">$slink</a>" );
			$tpl->set('{lost-link}', $lostlink );
			$tpl->set('{ip-link}', $iplink );
			$tpl->set('{ip}', get_ip());
			$tpl->compile('email_lostpassword');
			$tpl->clear();

			$mail->send( $lostmail, $lang['lost_subj'], $tpl->result['email_lostpassword'] );


Версия DLE: пожалуй любая, кроме совсем уж древних
Автор: Sander

Благодарности принимаю на кошельки:
R181268656057
Z753504041409

С уважением,
Олег Александрович a.k.a. Sander

15 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 4 марта 2017 17:51 -

картинка в base64 не всеми почтовыми клиентами поддерживается.

Каков вопрос - таков и ответ. Просто помните об этом.

Апельсин
Юзер

Апельсин - 5 марта 2017 00:35 -

Павел, можно оставить полный путь к картинке или же это будет не совсем правильно?

Sander
PHP-developer

Sander - 5 марта 2017 01:03 -


Именно так и можно.
Но вот у меня, например, thunderbird блокирует картинки от неизвестных адресов.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Апельсин
Юзер

Апельсин - 5 марта 2017 01:09 -

И как можно с этим справиться? Может картинку залить туда, кому почтовые клиенты доверяют? У меня почта от yahoo отлично отображает картинки, но это не говорит о том, что она будет отображаться у большенства.

Sander
PHP-developer

Sander - 5 марта 2017 01:13 -

Никому не доверяют.
Блокировать картинки или нет - зависит от почтового клиента и его настроек.
Проще не заморачиваться над подобной ерундой.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Апельсин
Юзер

Апельсин - 5 марта 2017 01:13 -

Спасибо за ответ.

ПафНутиЙ
Админ

ПафНутиЙ - 5 марта 2017 10:28 -

Для того, что бы картинки не блокировались нужно отправлять email со своего домена, с подтверждённой записью DKIM и большим плюсом будет использование https для ссылки на изображение, естественно картинка должна быть либо как вложение, либо как сслка на тот домен, с которого отправлено письмо.

Каков вопрос - таков и ответ. Просто помните об этом.

Апельсин
Юзер

Апельсин - 5 марта 2017 10:37 -

Отправляю письмо с почты моего домена. Так же https имеется, только с него и работает сайт. Пока всё отображается. Проверил на нескольких почтовых ящиках и на почтовом клиенте TheBat

ПафНутиЙ
Админ

ПафНутиЙ - 5 марта 2017 10:32 -

Вероятно клиент древний? я не смог отыскать дату последнего релиза этой программы.

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
PHP-developer

Sander - 5 марта 2017 17:29 -

https://www.mozilla.org/en-US/thunderbird/45.7.1/releasenotes/?buildid=20170206074256&locale=ru&os=WINNT&uri=/thunderbird/releasenotes/&version=45.7.1
Последний релиз 7 февраля этого года.

Там такие настройки, что по умолчанию все картинки и т.п. из интернета - блокируется.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

nowheremany
Эксперт

nowheremany - 5 марта 2017 11:49 -

$row['template'] = str_replace( "{nowheremany}", $lostname, $row['template'] );


Эээ. Причем тут я, меняй код!!!! angry

Благодарность принимаю тут Связь

ПафНутиЙ
Админ

ПафНутиЙ - 5 марта 2017 14:24 -

Это глупый парсер DLE (надо бы проверить, парсер я недавно обновлял, возможно эта проблема есть в свежих версиях DLE)

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
PHP-developer

Sander - 5 марта 2017 17:31 -

Это хак в index.php или в engine/modules/main.php
Он заменяет % username % на логин пользователя.

Так что Гость ты тут не при чем :)

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

ravchik
Юзер

ravchik - 7 марта 2017 20:10 -

парсер супер ))

Апельсин
Юзер

Апельсин - 14 марта 2017 04:30 -

А можно сделать что-то подобное и для уведомления о личном сообщении?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх