Письмо с разметкой в Dart
Текстовое письмо и HTML различаются способом
заполнения Message. Для разметки
используют поле html вместо text
или вместе с ним, если нужна текстовая запасная
часть.
Пример с жирным словом в теле и чтением HTML-строки из того же объекта:
import 'package:mailer/mailer.dart';
import 'package:mailer/smtp_server.dart';
void main() async {
var smtp = SmtpServer(
'smtp.example.com',
username: 'user',
password: 'secret',
);
var message = Message()
..from = Address('writer@local.test')
..recipients.add('reader@local.test')
..subject = 'HTML memo'
..html = '<p>Order is <b>confirmed</b>.</p>';
try {
await send(message, smtp);
} catch (e) {
print(e);
}
print(message.html);
}
В выводе остаются теги <p> и <b> -
это сырое HTML-содержимое части письма, а не
отрендеренная страница.
Задайте html с заголовком
<h1>News</h1> и абзацем
"Weekly digest.". Выведите строку
message.html.
Сформируйте разметку со списком из двух пунктов
"A" и "B" через <ul>.
Проверьте по выводу, что оба пункта присутствуют
в html.