Как послать электронное письмо HTML

я нашел способ послать электронное письмо простого текста с помощью намерения:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/plain"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new     
String[]{"example@mail.com"}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test");

Но я должен отправить форматированный текст HTML.
Попытка к setType ("текст/HTML") не работает.

35
задан Jonik 17 January 2014 в 22:33
поделиться

3 ответа

Вы можете передать Spanned текст в свой extra. Чтобы гарантировать, что намерение разрешается только действиям, которые обрабатывают электронную почту (например, Gmail и приложения электронной почты), вы можете использовать ACTION_SENDTO с Uri, начинающимся со схемы mailto. Это также будет работать, если вы заранее не знаете получателя:

final Intent shareIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "The Subject");
shareIntent.putExtra(
Intent.EXTRA_TEXT,
Html.fromHtml(new StringBuilder()
    .append("<p><b>Some Content</b></p>")
    .append("<small><p>More content</p></small>")
    .toString())
);
49
ответ дан 27 November 2019 в 07:14
поделиться
[

] Я еще не (пока) начал разработку Android, но в документации [] [] говорится, что если вы используете EXTRA_TEXT, то тип MIME должен быть text/plain. Похоже, что если вы хотите видеть HTML, вам придется использовать EXTRA_STREAM вместо этого...[

]
2
ответ дан 27 November 2019 в 07:14
поделиться
[

] А как насчет того, чтобы просто попытаться добавить немного html в текстовую область?[

] [
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "<strong>Test</strong>");
]
-3
ответ дан 27 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: