А вот, я извиняюсь, вопрос.
Допустим, я хочу юзеру дать готовую ссылку в которую он кликает и получает в почтовой программе готовое к отсылке письмо.
Ну как-то так
<a href="mailto:bla@bla.com?subject=my%20subject&body=message%20body">Click here to open your mailer</a>
Все, типа, работает. Проверял на Windows+Thunderbird и на Маке с Mail.
В деталях все хуже. Конкретно, на маке.
У меня Qt 4.8 (а не браузер), раскопки показали, что все фигачится в результате в LSOpenCFURLRef().
Так вот, если в body письма больше одной строчки, то переводы строк эскейпить не надо, если поэскейпить, то письмо будет одной строкой, содержащей %0D%0A. Ну ладно, формируем URL прямо с переводами строк.
Главная беда наступает, если в текст письма нужно положить URL со своими & Если поэскейпить, то в тексте письма так и будет %26. Если не экскейпить, то на первом же & начнется, естественно, следующий аргумент.
Два вопроса
- Ну и кто они после этого?
- И что делать то? Не, мне несложно подпереть это дело мимо Qt (благо там есть возможность посадить свой handler на отдельную scheme), но как?
P.S. Проверял на 10.8, на 10.6 - вроде бы то же самое, другие не проверял.