MFMailComposeViewController сломал стили CSS в HTML-шаблон - PullRequest
0 голосов
/ 02 мая 2010

Я использую MFMailComposeViewController для отправки сообщения в формате html . Если мой HTML-шаблон содержит CSS-стили :

<div class="margin:10 10 10 0"> <a href="domain.name">Go To</a></div>

В этом случае хорошо работает .

Но если я отправлю:

<a href="domain.name">Go&nbsp;To</a>

тогда я вижу письмо с сломанными стилями , поскольку там ( 3D не моя опечатка)

<div style=3D"margin:10 10 10 10;"><a href=3D"www.google.com">Go=C2=A0To</a></div>

Ну, так как письмо разбивается, когда я вставляю в шаблон символы из национальных алфавитов.

Кто-нибудь может подсказать в чем проблема и проверить у себя?

1 Ответ

1 голос
/ 11 ноября 2010

Я пересмотрел свой ответ, добавив вторую часть решения:

Я обнаружил две проблемы с использованием MFMailComposeViewController для отправки электронной почты в формате HTML с тегами.

1) Для любого тела HTML, кодируемого как печатаемый в кавычках, необходимо ставить разрывы строк, чтобы строки не превышали 76 символов.

2) Текст внутри тега должен быть заключен в a, чтобы MFMailComposeViewController не интерпретировал содержимое как ссылку внутри ссылки.

Например, следующий HTML:

<a href='http://link/to/my/site.com'>site.com</a>

превращается в:

<a href='http://link/to/my/site.com'><a href='http://site.com'>site.com</a></a>

Изменяя мое тело HTML на:

<a href='http://link/to/my/site.com'><span>site.com</span></a>

письмо отправлено правильно.

Полный пример:

NSMutableString *body = [NSMutableString string];
// add HTML before the link here with line breaks (\n)
[body appendString:@"<h1>Hello User!</h1>\n"];
[body appendString:@"<a href=\"http://www.mysite.com/path/to/link\"><span>Click Me!</span></a>\n"];
[body appendString:@"<div>Thanks much!</div>\n"];

Ура!

...