Сегодня заметил непонятное мне поведение ОС в сабжевой ситуации. Суть в следующем - беру чистую версию 1.5.4.1 (сначала обнаружил это на своей сильно измененной и подумал на свои кривые руки), регистрируюсь как покупатель, выхожу из аккаунта и жму восстановление пароля. Ввожу мыло и вижу ушедшее письмо с новым паролем на локалке.
Теперь ключевой момент - если его открыть через разные почтовые клиенты, то увидим такую картинку:
С виду все ок, но если попытаться ввести этот восстановленный пароль и залогиниться, ничего не выйдет. Сначала я полез в phpmyadmin и сравнил хеши измененного пароля (ид покупателя 3) и такого же пароля, который я вручную указываю в админке для нового пользователя (4), и какого же было мое удивление, когда у этих паролей все оказалось разным!
Тогда я полез в исходники письма, и удивился второй раз за вечер - в исходниках-то пароль длиннее на один символ!
------=_NextPart_bcd3e43fd42e2b764a750d36c87f0cad
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Новый пароль был запрошен от Мой Магазин.
Ваш новый пароль:
8d6d93a681
------=_NextPart_bcd3e43fd42e2b764a750d36c87f0cad--
Оказывается, некоторые почтовые клиенты (из того, что я пробовал и что смогло открыть письмо в виде eml-файла, это оказался Outlook, Live mail, Kernel eml viewer) по каким то причинам обрезают последний символ в пароле, в итоге письмо зрительно выглядит корректно, но пароль таким письмом восстановить никогда не удастся, только если не полезть в исходники. Кто что думает?
На почту (гмейл по крайней мере) все приходит как надо, но я очень часто вижу людей, которые до сих пор пользуются The Bat или аутлуком..