Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpMlHtm 274 of 299 menu
◀ ▶

Письмо с разметкой в Kotlin

Текстовое письмо и HTML различаются типом содержимого. Вместо setText вызывают setContent: первый аргумент - строка с разметкой, второй - MIME-тип text/html с указанием кодировки.

Пример с жирным словом в теле и чтением HTML-строки обратно:

import com.icegreen.greenmail.util.GreenMail import com.icegreen.greenmail.util.ServerSetupTest import jakarta.mail.Message import jakarta.mail.Session import jakarta.mail.Transport import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMessage import java.util.Properties fun main() { val server = GreenMail(ServerSetupTest.SMTP) server.start() server.setUser("reader@local.test", "reader", "pass") val props = Properties() props["mail.smtp.host"] = "127.0.0.1" props["mail.smtp.port"] = server.smtp.port.toString() props["mail.smtp.auth"] = "false" val session = Session.getInstance(props) val letter = MimeMessage(session) letter.setFrom(InternetAddress("writer@local.test")) letter.setRecipient( Message.RecipientType.TO, InternetAddress("reader@local.test"), ) letter.subject = "HTML memo" letter.setContent( "<p>Order is <b>confirmed</b>.</p>", "text/html; charset=utf-8", ) Transport.send(letter) val html = server.receivedMessages[0].content as String println(html) server.stop() }

В выводе остаются теги <p> и <b> - это сырое HTML-содержимое части письма, а не отрендеренная страница.

Отправьте HTML с заголовком <h1>News</h1> и абзацем "Weekly digest.". Выведите полученную строку содержимого.

Сформируйте разметку со списком из двух пунктов "A" и "B" через <ul>. Проверьте по выводу, что оба пункта присутствуют в теле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить