TF-3349 Escape messages when forward and reply email
This commit is contained in:
@@ -27,6 +27,17 @@ extension EmailAddressExtension on EmailAddress {
|
||||
return '';
|
||||
}
|
||||
|
||||
String asFullStringWithLtGtCharacter() {
|
||||
if (displayName.isNotEmpty && emailAddress.isNotEmpty) {
|
||||
return '${displayName.capitalizeFirstEach} <$emailAddress>';
|
||||
} else if (displayName.isNotEmpty) {
|
||||
return displayName.capitalizeFirstEach;
|
||||
} else if (emailAddress.isNotEmpty) {
|
||||
return '<$emailAddress>';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
String get emailAddress => email ?? '';
|
||||
|
||||
String get displayName => name ?? '';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:core/presentation/extensions/html_extension.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/mailbox/expand_mode.dart';
|
||||
import 'package:model/extensions/email_address_extension.dart';
|
||||
@@ -27,6 +28,18 @@ extension SetEmailAddressExtension on Set<EmailAddress>? {
|
||||
return listEmail.isNotEmpty ? listEmail.join(', ') : '';
|
||||
}
|
||||
|
||||
String toEscapeHtmlString(String separator) {
|
||||
if (this?.isNotEmpty != true) return '';
|
||||
|
||||
final listEmail = this
|
||||
!.map((emailAddress) => emailAddress.asFullStringWithLtGtCharacter().escapeLtGtHtmlString())
|
||||
.toList();
|
||||
|
||||
return listEmail.isNotEmpty ? listEmail.join(separator) : '';
|
||||
}
|
||||
|
||||
String toEscapeHtmlStringUseCommaSeparator() => toEscapeHtmlString(', ');
|
||||
|
||||
int numberEmailAddress() => this != null ? this!.length : 0;
|
||||
|
||||
List<EmailAddress> filterEmailAddress(String emailAddressNotExist) {
|
||||
|
||||
Reference in New Issue
Block a user