[MlMt] Mailing List Submailboxes - Fixing bad list-ids

Ethan Schoonover es at ethanschoonover.com
Thu Jun 3 01:08:10 EDT 2021


**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
es at 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}}}
```

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freron.com/pipermail/mailmate/attachments/20210602/c7fb8225/attachment.htm>


More information about the mailmate mailing list