**Note:** This message contains a change to prioritize the List-ID where 
present and non-gibberish. Probably the best approach. Unless someone has 
feedback I'd propose this as the final version. Benny, any chance you'd 
consider making this the Mailing List submailbox name default format string?

-Ethan Schoonover
e...@ethanschoonover.com
https://ethanschoonover.com

# Better MailMate Mailing List Submailbox Naming (v3)

## Quick instructions

1. Double click your "Mailing Lists" smart mailbox in MailMate
2. Select the "Submailboxes" tab
3. Copy the following code (this is the same as the **CLEAN VERSION** snipped 
below) and paste it into your Mailing Lists > Submailboxes > Mailbox Name 
Format field.

Be careful when copying: the string is long and the overflow may be clipped 
“off the page.”

```
${list-id.description:?${list-id.description/^[a-z]*\d.*/${subject.blob:?${subject.blob:/capitalize}:${from.name:${list-id.identifier.final-level:?${list-id.identifier.final-level:/capitalize}:${from.address}}}}/}:${subject.blob:?${subject.blob:/capitalize}:${from.name:${list-id.identifier.final-level:?${list-id.identifier.final-level:/capitalize}:${from.address}}}}}
```

## Summary

This submailbox string will look for each of the following variables from the 
mailing list messages in turn, choosing the first that is available based on 
the order presented below.

In the special case of the List ID, these sometimes return a gibberish (to 
human eyes) alphanumeric string of characters. In those cases, the List-ID is 
not used (technically it is used but regex replaced with the options from the 
remainder of the sequence below).

### Options for list naming, in order

1. List ID Description (if not all alphanumerics; if alphanumerics only, then 
continue with options below)
2. Subject Blob
3. From Name
4. List ID Identifier (final part)
5. From Address

Below you will find three versions of the code for this mailing list naming 
string. The nested version is easy to read, the "commented" version can be 
pasted in so you can see how your lists names are being assigned, and the 
"clean" version is uncommented and what you will ultimately want to use.

## Commented Code - Nested format (DO NOT PASTE IN, FOR REFERENCE ONLY)

```
${list-id.description:?
        [[HAS-LISTID]] ${list-id.description/^[a-z]*\d.*/
                [[BAD-LISTID]] ${subject.blob:?
                        [[HAS-SUB-BLOB]] ${subject.blob:/capitalize}:
                        [[NO-SUB-BLOB]] ${from.name:
                                [[NO-FROM-NAME]] 
${list-id.identifier.final-level:?
                                        [[HAS-LISTID-FINAL]] 
${list-id.identifier.final-level:/capitalize}:
                                        [[NO-LISTID-FINAL]] ${from.address}
                                }
                        }
                }
        /}:
        [[NO-LISTID]] ${subject.blob:?
                [[HAS-SUB-BLOB]] ${subject.blob:/capitalize}:
                [[NO-SUB-BLOB]] ${from.name:
                        [[NO-FROM-NAME]] ${list-id.identifier.final-level:?
                                [[HAS-LISTID-FINAL]] 
${list-id.identifier.final-level:/capitalize}:
                                [[NO-LISTID-FINAL]] ${from.address}
                        }
                }
        }
}
```

## Commented

Paste this if you want to see how it works with your lists.

```
${list-id.description:?[[HAS-LISTID]] 
${list-id.description/^[a-z]*\d.*/[[BAD-LISTID]] 
${subject.blob:?[[HAS-SUB-BLOB]] ${subject.blob:/capitalize}:[[NO-SUB-BLOB]] 
${from.name:[[NO-FROM-NAME]] 
${list-id.identifier.final-level:?[[HAS-LISTID-FINAL]] 
${list-id.identifier.final-level:/capitalize}:[[NO-LISTID-FINAL]] 
${from.address}}}}/}:[[NO-LISTID]] ${subject.blob:?[[HAS-SUB-BLOB]] 
${subject.blob:/capitalize}:[[NO-SUB-BLOB]] ${from.name:[[NO-FROM-NAME]] 
${list-id.identifier.final-level:?[[HAS-LISTID-FINAL]] 
${list-id.identifier.final-level:/capitalize}:[[NO-LISTID-FINAL]] 
${from.address}}}}}
```

## CLEAN VERSION (no comments)

Paste this in if you just want better list names and don't need to see how it's 
working.

```
${list-id.description:?${list-id.description/^[a-z]*\d.*/${subject.blob:?${subject.blob:/capitalize}:${from.name:${list-id.identifier.final-level:?${list-id.identifier.final-level:/capitalize}:${from.address}}}}/}:${subject.blob:?${subject.blob:/capitalize}:${from.name:${list-id.identifier.final-level:?${list-id.identifier.final-level:/capitalize}:${from.address}}}}}
```

## ORIGINAL MailMate Mailing Lists Subfolder Format String

Paste this in if you want to revert to the original MailMate behavior.

```
${list-id.description:${subject.blob:?${subject.blob:/capitalize}:${list-id.identifier.final-level}}}
```

_______________________________________________
mailmate mailing list
mailmate@lists.freron.com
https://lists.freron.com/listinfo/mailmate

Reply via email to