Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

condition "from is in addressbook group"

#237

It would be nice to be able to require as a condition (during smart mailbox creation) that the email sender is part of a group in the addressbook (or "contacts" in mountain lion).

That would make it a lot easier to create smart mailboxes that group together emails from specific groups of people (friends, colleagues from institution 1 or 2, etc).

Maybe there's another way to do this which is more MailMate-like, but I could not find it.

Reported by Vincent Noel · February 22nd, 2012 @ 05:47 PM

State: fixreleased
Milestone: none
Assigned to: benny benny

Activity

  1. benny
    benny
    • State changed from new to bluesky

    Currently, the only way to do this is to collect messages from a group of people in an IMAP mailbox and then do something like what is described in ticket #224 Filtering mails related to mails in a specific mailbox. For example, if you create an IMAP mailbox named Friends and put some messages from friends within it then you can create a smart mailbox (maybe also named Friends) with the following condition:

    From ▸ Address [is in] Friends From ▸ Address
    

    Or maybe:

    Recipient ▸ Address [is in] Friends From ▸ Address
    

    Ideally, MailMate would treat groups in the Address Book as some kind of pseudo-smart-mailboxes such that one could create a group named Friends and then do something like:

    Recipient ▸ Address [is in] Friends Address
    

    (Think of each person in the Address Book as a pseudo message with a header for each value.)

    I'm going to mark this as a blue sky feature, but it does not mean that I won't do it some day. It is just part of a larger and more general feature which is not going to happen soon.

    February 22nd, 2012 @ 11:07 PM

  2. Mike K
    Mike K

    Upvote for adding this to an upcoming version. In Eudora, I used to have a simple filter that said if someone was in my "Business" address book entry, filter it into one folder, if not, filter it into another. I had about 20 of these. This way I could just add people to my address book under the appropriate heading and everything got filtered. It's an important function. Having to set up IMAP mailboxes etc. is not a good solution, too complicated.

    August 18th, 2012 @ 01:21 AM

  3. benny
    benny

    I think I might have a better idea as to how to implement support for Address Book groups. I could introduce a virtual header, for example, named ##address-book-group (displayed as Address Book Group in the GUI). This would be a dynamically computed header where MailMate looks in the Address Book for any groups with the from address of the given message (maybe variations are needed for to/cc as well).

    This could make it relatively simple to make a smart mailbox which automatically takes a group of messages and partitions them into submailboxes based on Address Book groups.

    I'll give this some more thought and maybe it'll bring the feature a bit closer than the current bluesky state.

    August 18th, 2012 @ 01:12 PM

  4. Max Andersen
    Max Andersen

    This would be great to have to more easily simulate Apple mail VIP feature (for now I'm using a manual condition list)

    January 7th, 2014 @ 07:01 AM

  5. Robert Black
    Robert Black

    This did get my vote, but I retract that - the workarounds suggested do a good enough job :-)

    July 3rd, 2015 @ 02:31 AM

  6. Dennis S.
  7. benny
    benny

    Sorry, I haven't worked on it yet. My described approach to the problem is still how I would like it to work though.

    February 16th, 2016 @ 01:05 PM

  8. Mike K
    Mike K

    Here you tell us we have to use Smart Mailboxes to do it, yet whenever MailMate becomes too slow to use, you tell us it's because we used Smart Mailboxes.

    August 18th, 2016 @ 08:44 PM

  9. benny
    benny

    @Mike K: I get your point, but I don't think that's quite fair. When/if MailMate is slow then it's most likely to be because you have a very large message store. If not then I'm certainly willing to look into it. Also, smart mailboxes are extremely flexible, but this also means that it's possible to create things which are very slow to compute. In some cases, blaming MailMate for this would be like blaming a programming language after implementing a very slow algorithm.

    August 20th, 2016 @ 07:58 PM

  10. Mike K
    Mike K

    If MailMate was anything like a programming language, we users would have the power to do what we needed without having to complain to you here.

    October 16th, 2016 @ 09:07 PM

  11. benny
    benny

    @Mike K: I'm not really sure if that was a serious remark, but just in case here's my reply. Your computer is programmable and you can create anything you like including a complete MailMate replacement. I don't think that stops a lot of people from complaining about any kind of software problem. Note that I did not claim that MailMate was anything like a programming language. My point was that the smart mailboxes in MailMate are very flexible, but this comes at the risk of being able to create things which are computationally hard (both in theory and in practice). This is similar to the flexibility of a programming language. The programming language designer cannot prevent the programmer from creating inefficient programs without severely limiting the capabilities of the language.

    Note that my replies here are just general remarks, because you started out with a generalization of how I reply to smart mailbox related issues. You indicated that I cannot say “use a smart mailbox” because I also have stated that some smart mailboxes can be too slow to use. This is what meant by it not being “quite fair”.

    I hope this clears up any misunderstandings.

    October 24th, 2016 @ 08:28 AM

  12. Steve Dorner
    Steve Dorner

    Yeah, I used this in Eudora, too. Using tags was how I was planning to work around it also, but I'd rather not have to build the same structure in two different places. Authoritative data should exist in just one place, you know? Then you don't have to worry about keeping things in sync.

    September 25th, 2019 @ 04:13 AM

  13. mom
    mom

    I would like to upvote this, too, this would be WAY better than VIP inbox in Apple mail, but I found this when looking for a replacement for VIP smart mailboxes. In the meantime, I exported my VIP smart mailbox from apple, and was not able to import it to any non-connect imap folder, though I tried, hoping that I could use that folder to reference all VIP's. If I could get it to work I could easily add people in (not easy to get out of) that folder if I want to change my VIP's manually. Won't synchronize with people marked vip on my phone, though, and via iCloud, then marked vip in contacts in apple address book, though. That's what I'd wish for via the methods mused above.

    October 2nd, 2020 @ 12:30 AM

  14. benny
    benny
    • State changed from bluesky to fixcommitted

    Hold down ⌥ when clicking “Check Now” in the Software Update preferences pane to get the latest test release.

    It's a bit crude, but this is possible now. For example, the user can create a condition like this:

    From > Address > Contact > Group is “...”
    

    MailMate will help with the value on the right hand side which can be a bit tricky depending on the original group name and container (Contacts account). Smart contact groups should also work (this was tricky because Apple does not support it). Ideally, this should just be a popup menu with the available group names.

    Major caveat: When making changes to contacts, MailMate does detect it, but any mailboxes/queries based on contacts do not automatically update. This is a bug or missing feature depending on how you look at it :)

    I'm interested in knowing if there are any other practical issues/problems with this feature.

    July 15th, 2022 @ 01:22 PM

  15. Adam Ek
    Adam Ek

    I'm trying to get this to work, but I seem to be missing something

    Left side of my condition: From >> Contact >> Group
    Operator: is
    Right side of my condition: Business

    Does not find any emails from my contacts in the Business group.

    Changing operator to (is not) finds all emails.
    Changing right side to "Business" does not find any emails from my contacts in the Business group.

    contains Business does not find any emails from my contacts in the Business group.

    I have 526 contacts in my Business group.

    Searching for contacts in an Address Book group does not seem to work for me.

    Is there a way to search for text within the Note field of a contact, such as contains ?

    July 29th, 2023 @ 04:37 PM

  16. benny
    benny

    @Adam: The Business group name does show up as an option in the right hand side if you open the popup of the condition?

    (It's been a while since I implemented this, but I do believe it should work although the implementation is a bit crude.)

    Which revision of MailMate are you using (see the About window)?

    August 4th, 2023 @ 02:31 PM

  17. Adam Ek
    Adam Ek

    I'm using Version 1.14 (5937).

    August 4th, 2023 @ 04:58 PM

  18. benny
    benny

    Was that also an implicit yes to my first question?

    You can try the latest cutting edge release to see if it behaves differently with respect to the Business group: r5971. It might have other issues though.

    August 4th, 2023 @ 07:35 PM

  19. Adam Ek
    Adam Ek

    Basic lists show up, but no Contacts' Smart List.

    August 4th, 2023 @ 09:32 PM

  20. benny
    benny

    Looking at my code, smart lists should work (although I'm calling them smart groups -- maybe an earlier macOS released named them like that). I recall this was very tricky, because it's not really supported by the Contacts framework while the older AddressBook framework did support it. I consider this an Apple bug, but I guess it'll never be fixed.

    Nevertheless, you can get debug output as follows.

    • Open a Terminal window (Applications/Utilities).
    • Enable debug output like this: defaults write com.freron.MailMate MmDebugContactsGroups -bool YES
    • Launch MailMate like this: /Applications/MailMate.app/Contents/MacOS/MailMate
    • Do something involving groups and review the output.

    Maybe it'll give some kind of indication of what goes wrong. You can send output to me using “Help > Send Feedback” if needed.

    August 7th, 2023 @ 05:40 PM

  21. benny
    benny
    • State changed from fixcommitted to fixreleased

    December 25th, 2024 @ 04:11 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.