#237 ✓fixcommitted
Vincent Noel

condition "from is in addressbook group"

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

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.

Comments and changes to this ticket

  • benny

    benny February 22nd, 2012 @ 11:07 PM

    • 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. 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.

  • Mike K

    Mike K August 18th, 2012 @ 01:21 AM

    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.

  • benny

    benny August 18th, 2012 @ 01:12 PM

    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.

  • Max Andersen

    Max Andersen January 7th, 2014 @ 07:01 AM

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

  • Robert Black

    Robert Black July 3rd, 2015 @ 02:31 AM

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

  • Dennis S.
  • benny

    benny February 16th, 2016 @ 01:05 PM

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

  • Mike K

    Mike K August 18th, 2016 @ 08:44 PM

    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.

  • benny

    benny August 20th, 2016 @ 07:58 PM

    @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.

  • Mike K

    Mike K October 16th, 2016 @ 09:07 PM

    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.

  • benny

    benny October 24th, 2016 @ 08:28 AM

    @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.

  • Steve Dorner

    Steve Dorner September 25th, 2019 @ 04:13 AM

    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.

  • mom

    mom October 2nd, 2020 @ 12:30 AM

    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.

  • benny

    benny July 15th, 2022 @ 01:22 PM

    • 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.

  • Adam Ek

    Adam Ek July 29th, 2023 @ 04:37 PM

    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 ?

  • benny

    benny August 4th, 2023 @ 02:31 PM

    @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)?

  • Adam Ek

    Adam Ek August 4th, 2023 @ 04:58 PM

    I'm using Version 1.14 (5937).

  • benny

    benny August 4th, 2023 @ 07:35 PM

    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.

  • Adam Ek

    Adam Ek August 4th, 2023 @ 09:32 PM

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

  • benny

    benny August 7th, 2023 @ 05:40 PM

    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.

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.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Mac OS X email client.

Shared Ticket Bins

Referenced by

Pages