Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Проблема с кодировкой писем imap Synapse


Автор: tryinfinity 20.1.2017, 18:26
Доброго дня!
Необходимо в письме вытащить линк со ссылкой на подтверждение регистрации.
Получаю письмо, загоняю его в TStringList, делаю перекодировку
Код

ImapClient.FetchMess(StrToInt(MessList[MessList.Count-1]),SearchMessList);
Link:=(CharsetConversion(SearchMessList.Text,TMimeChar.UTF_7mod,TMimeChar.CP1251));

Однако ссылка получается все равно кривая, т.е. разбита на строки + добавлены всякие ненужные элементы, типа "amp;", "3D".
Хелп плиз. Что делаю не так?

Автор: kami 20.1.2017, 18:53
Цитата(tryinfinity @  20.1.2017,  18:26 Найти цитируемый пост)
добавлены всякие ненужные элементы

они не "ненужные". & - это url-encoded символ "&", 3D - это "=" . В общем, ссылке нужно сделать url decode.

Автор: tryinfinity 20.1.2017, 21:13
Спасибо за наводку, но подходящего декодера так и не удалось найти.
Приходит ссыль такого плана:
Код

https://account.com/signup/activate?lang=3Den_US&serviceCode=3D13&lo=
[email protected]&returnUrl=3D&encAuthString=3DNs3ehdu=
cxwf75Q8QdtUWEUO3hkgwhdUQTHHto7PjV7xTx1aNRhPpkI%2B%2F8r3dHBcqiBRWkWYmAe4gB%=
2BhbYAMxECpoUXW%2F%2FrZ53F8w8i2zKox81Y0fcwmKSHrRlYcndjtMKco8ZmFWAeGThOHYH%2=
F7aofmMtTyHTl4OrVOsDSRHo5zcNCAchzeRJT3HT7IFf9VqwpcB3u5nMdD%2BAtyqUf%2FwFMmp=
hbHUnBYJ%2BGb%2B3hGQFtY%3D

Нужно:
Код

https://account.com/signup/activate?lang=en_US&serviceCode=13&[email protected]&returnUrl=&encAuthString=Ns3ehducxwf75Q8QdtUWEUO3hkgwhdUQTHHto7PjV7xTx1aNRhPpkI%2B%2F8r3dHBcqiBRWkWYmAe4gB%2BhbYAMxECpoUXW%2F%2FrZ53F8w8i2zKox81Y0fcwmKSHrRlYcndjtMKco8ZmFWAeGThOHYH%2F7aofmMtTyHTl4OrVOsDSRHo5zcNCAchzeRJT3HT7IFf9VqwpcB3u5nMdD%2BAtyqUf%2FwFMmphbHUnBYJ%2BGb%2B3hGQFtY%3D

По убирал конечно ненужные символы с помощью StringReplace, но мне кажется как то это не по феншую)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)