-
Notifications
You must be signed in to change notification settings - Fork 12
/
enough_mail_html_example.dart
36 lines (31 loc) · 1.24 KB
/
enough_mail_html_example.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import 'package:enough_mail/enough_mail.dart';
import 'package:enough_mail_html/enough_mail_html.dart';
import 'package:html/dom.dart';
String simpleTransformExample(MimeMessage mimeMessage) =>
mimeMessage.transformToHtml();
String generatePlainText(String htmlText) =>
HtmlToPlainTextConverter.convert(htmlText);
String configureImageBlockingOrEmptyMessage(MimeMessage mimeMessage) =>
mimeMessage.transformToHtml(
blockExternalImages: true,
emptyMessageText: 'Nothing here, move on!',
);
Future<String> playYourself(MimeMessage mimeMessage) async {
final cfg = TransformConfiguration.create(
blockExternalImages: true,
emptyMessageText: 'Nothing here, move on!',
customDomTransformers: [StyleTextDomTransformer()],
customValues: {'textStyle': 'font-size:10px;font-family:verdana;'},
);
return mimeMessage.transformToHtml(transformConfiguration: cfg);
}
class StyleTextDomTransformer extends DomTransformer {
@override
void process(Document document, MimeMessage message,
TransformConfiguration configuration) {
final paragraphs = document.getElementsByTagName('p');
for (final paragraph in paragraphs) {
paragraph.attributes['style'] = configuration.customValues?['textStyle'];
}
}
}