diff --git a/FAQ.md b/FAQ.md index 9e6fdb812f..9960b5e4fb 100644 --- a/FAQ.md +++ b/FAQ.md @@ -2594,6 +2594,7 @@ A *move* action can optionally create subfolders (since version 1.1966) to move ``` $month$ $year$ +$email$ $domain$ ``` diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index 73821d850f..59ce55c2e4 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -627,16 +627,22 @@ public class EntityRule { create = create.replace("$year$", year); create = create.replace("$month$", month); - String domain = ""; + String email = null; + String domain = null; if (message.from != null && message.from.length > 0 && message.from[0] instanceof InternetAddress) { InternetAddress from = (InternetAddress) message.from[0]; - domain = UriHelper.getEmailDomain(from.getAddress()); + email = from.getAddress(); + domain = UriHelper.getEmailDomain(email); } - create = create.replace("$domain$", domain); + create = create.replace("$email$", email == null ? "" : email); + create = create.replace("$domain$", domain == null ? "" : domain); - String name = folder.name + folder.separator + create; + if (folder.separator != null) + create = create.replace(folder.separator, '_'); + + String name = folder.name + (folder.separator == null ? "" : folder.separator) + create; EntityFolder created = db.folder().getFolderByName(message.account, name); if (created == null) { created = new EntityFolder();