resolveMailboxDirectoryPath method
Implementation
({String userDir, String? domainDir}) resolveMailboxDirectoryPath(
String mailbox,
) {
var parts = mailbox.split('@');
var username = parts[0];
var domain = parts.length > 1 ? parts[1] : null;
var userDir = removeDiacritics(username).trim().toLowerCase();
// ignore dots:
userDir = userDir.replaceAll(RegExp(r'\.'), '');
// ignore anything after + in username:
userDir = userDir.replaceAll(RegExp(r'\+.*'), '');
// remove non-word characters:
userDir = userDir.replaceAll(RegExp(r'\W'), '_');
String? domainDir;
if (domain != null) {
domainDir = removeDiacritics(domain).trim().toLowerCase();
domainDir = domainDir.replaceAll(RegExp(r'[^\w.]'), '_');
domainDir = domainDir.replaceAll(RegExp(r'^\.+'), '');
if (domainDir.isEmpty) {
domainDir = null;
}
}
return (userDir: userDir, domainDir: domainDir);
}