|
FastMail Forum All posts relating to FastMail.FM should go here: suggestions, comments, requests for help, complaints, technical issues etc. |
|
Thread Tools |
19 Mar 2020, 07:43 AM | #1 | ||
The "e" in e-mail
Join Date: Sep 2004
Location: The Netherlands
Posts: 2,908
|
Labels are coming?
Spotted on Twitter.
Quote:
Quote:
Last edited by Berenburger : 19 Mar 2020 at 07:50 AM. Reason: typo |
||
19 Mar 2020, 08:19 AM | #2 |
Senior Member
Join Date: Jan 2010
Location: Melbourne, Oz
Posts: 133
|
Fantastic!
This is a great move and, for me anyway, will fill a hole that has had me checking out alternative email providers for some months now. (So far haven't found any that both have labels and let me create email aliases on the fly.) |
19 Mar 2020, 03:09 PM | #3 |
Essential Contributor
Join Date: Dec 2017
Location: Scotland
Posts: 490
|
How is a "round of user testing" different from "the beta service" that anyone can use if they log in to it?
|
19 Mar 2020, 07:58 PM | #4 |
Essential Contributor
Join Date: Jul 2013
Location: Germany
Posts: 251
|
So cool! Really looking forward to this.
Curious how they will manage label compatibility with IMAP… if they will at all. |
20 Mar 2020, 12:54 PM | #5 |
The "e" in e-mail
Join Date: May 2003
Location: mostly in Thailand
Posts: 3,095
|
One possible approach would be only to support labels through the web interface, FastMail App and other JMAP enabled clients. Allowing IMAP clients to create new labels is tricky, and a solution that pretends labels are folders (as Gmail partly does) has some significant performance issues and tricky edge cases. JMAP has been designed with label support in mind.
|
28 Mar 2020, 06:19 AM | #6 |
The "e" in e-mail
Join Date: Sep 2004
Location: The Netherlands
Posts: 2,908
|
Labels on Beta
Labels are now available on Fastmail's beta website.
https://beta.fastmail.com/help/receive/labels-beta.html |
28 Mar 2020, 09:41 AM | #7 | |
The "e" in e-mail
Join Date: May 2003
Location: mostly in Thailand
Posts: 3,095
|
Quote:
I still think the addition of labels to FastMail is a positive move, but I would like to understand the implications. |
|
28 Mar 2020, 11:14 AM | #8 |
Essential Contributor
Join Date: May 2018
Posts: 478
|
I would also be curious how this labels stuff translates into sieve code. But since I cannot enable the the new rules stuff anymore (because I have my own sieve additions) I can't evaluate labels either which requires the new rules stuff to be turned on. I added this complaint to my ticket about this new problem.
|
30 Mar 2020, 08:49 AM | #9 |
Intergalactic Postmaster
Join Date: May 2004
Location: Irving, Texas
Posts: 8,929
|
Simple label mode sieve code
I have been using the new rules system, which still allows custom sieve code to be inserted at one of three locations:
Below is an example where I have only created the following two user interface rules. I also inserted custom sieve comments (USER CODE A/B/C) at the three locations shown above. Other settings are defaulted.
Code:
require ["fileinto", "reject", "vacation", "notify", "envelope", "body", "relational", "regex", "subaddress", "copy", "mailbox", "mboxmetadata", "servermetadata", "date", "index", "comparator-i;ascii-numeric", "variables", "imap4flags", "editheader", "duplicate", "vacation-seconds", "fcc", "x-cyrus-jmapquery"]; # USER CODE A ************************************************************* ### 1. Sieve generated for save-on-SMTP identities # You do not have any identities with special filing. ### 2. Sieve generated for blocked senders # You have no blocked senders. ### 3. Sieve generated for spam protection if not header :matches "X-Spam-Known-Sender" "yes*" { if allof( header :contains "X-Backscatter" "yes", not header :matches "X-LinkName" "*" ) { fileinto "\\Junk"; stop; } if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-score" "5" { fileinto "\\Junk"; stop; } } # USER CODE B ************************************************************* ### 4. User configured rules ### 4a. Calculate rule actions # Rule File #1 # Search: "subject:file" if allof( not string :is "${stop}" "Y", jmapquery text: { "subject" : "file" } . ) { addflag "\\Flagged"; set "L0_Test" "Y"; set "skipinbox" "Y"; } # Rule File #2 # Search: "subject:file" if allof( not string :is "${stop}" "Y", jmapquery text: { "subject" : "file" } . ) { addflag "$notify"; set "L1_Testing" "Y"; set "skipinbox" "Y"; } ### 4b. Rule sent message to trash if string :is "${deletetotrash}" "Y" { fileinto "\\Trash"; } ### 4c. Rule says message is spam elsif string :is "${spam}" "Y" { fileinto "\\Junk"; } ### 4d. Do rule actions else { if string :is "${L0_Test}" "Y" { set "hasmailbox" "Y"; fileinto :copy "INBOX.Test"; } if string :is "${L1_Testing}" "Y" { set "hasmailbox" "Y"; fileinto :copy "INBOX.Testing"; } if string :is "${skipinbox}" "Y" { if string :is "${hasmailbox}" "Y" { discard; } else { fileinto "\\Archive"; } } else { ### 4e. Sieve generated for fetch mail filing # You have no pop-links filing into special folders. } ### 5. Sieve generated for vacation responses # You do not have vacation responses enabled. ### 6. Sieve generated for calendar preferences if allof( header :is "X-ME-Cal-Method" "request", not exists "X-ME-Cal-Exists", header :contains "X-Spam-Known-Sender" "in-addressbook" ) { notify :method "addcal"; } elsif exists "X-ME-Cal-Exists" { notify :method "updatecal"; } } if string :is "${stop}" "Y" { # For backwards compatibility } # USER CODE C ************************************************************* |
30 Mar 2020, 10:58 AM | #10 | |
Essential Contributor
Join Date: May 2018
Posts: 478
|
Quote:
|
|
30 Mar 2020, 12:19 PM | #11 | |
Intergalactic Postmaster
Join Date: May 2004
Location: Irving, Texas
Posts: 8,929
|
Quote:
Yes, there used to be more places they allowed us to insert custom sieve. But I think that the current setup is sufficient. It's pretty easy now to set up a rule based on the contents of a message using the current user interface features. I have removed nearly all of my old custom sieve, and I'm starting to clean up my normal rules. Bill |
|
30 Mar 2020, 01:00 PM | #12 | |
Essential Contributor
Join Date: May 2018
Posts: 478
|
Quote:
What in your actual rules for those examples spawned the jmapquery I see in your code? I don't see that. It's the matching criteria that you show as subject:file that's confusing me. |
|
30 Mar 2020, 03:34 PM | #13 | |||
Intergalactic Postmaster
Join Date: May 2004
Location: Irving, Texas
Posts: 8,929
|
Sieve jmapquery test
Quote:
Quote:
Quote:
I now wish I had used a different search string other than "file" for my example, since it could accidentally be interpreted as some filing operation rather than the subject search string. Bill |
|||
30 Mar 2020, 04:33 PM | #14 | ||
Essential Contributor
Join Date: May 2018
Posts: 478
|
Quote:
Code:
if header :contains "Subject" "file" I wonder if your beta is different from my beta (since I expect labels are still a work in progress). Since I only got beta working again tonight after a week I wonder if the implementation has changed so that mine is "newer" than yours assuming you have been using beta all along I I only re-enabled it tonight. Two things to try to be sure you have the latest (not sure which one might work or even if this theory is correct) is log out and log back into beta and/or (b) turn off the new rules and then turn them back on again (caution, off/on looses all the rules changes made in the beta). The rest of the code that sets and tests the various variables is straight forward although it bothers me somewhat how efficient the standard filter case is to fileinto :copy the message and then discard the original. But that's a server problem and not our problem. Quote:
FWIW, ignoring the reason why I cannot get the jmapquery test I did find what I think is a little more info in this web site section 4.4 (Email/query). And that ties back to RFC 8620 section 5.5. So I guess the "{subject:file}" is a "Mailbox/query" and the FM jmapquery syntax is to simply map the brace enclosed stuff directly into one of those /query statements. Just guessing here. But if this is correct, then according to RFC 8620 section 5.5 FM was (is?) intending to support large emails but maybe they changed their mind so that's why I don't now see it. Last edited by xyzzy : 30 Mar 2020 at 08:15 PM. |
||
30 Mar 2020, 07:08 PM | #15 |
Essential Contributor
Join Date: Dec 2017
Location: Scotland
Posts: 490
|
Two observations:
(a) for Sieve rules that FM generates this is not important, but if anyone adds their own rules that use the jmapquery thing I think it would be terribly easy to miss out the line that just has that dot on it... (I do recognise that it's a common end-of-something delimiter, seen inside other protocols, but it's machine-friendly rather than user-friendly.) (b) why is jmapquery being used instead of simpler match tests etc? It may be from FM's point of view this makes the logic for their rule-generator simpler. It might also be more efficient (in terms of server load) if it's been implemented with more modern code features. |