[MlMt] How to edit recipients

Benny Kjær Nielsen mailinglist at freron.com
Fri Mar 9 04:22:40 EST 2018


On 5 Mar 2018, at 17:48, Randall Gellens wrote:

>>> Yes, exactly, although Eudora also used the modified form when 
>>> sending replies, which was nice.
>>
>> I wouldn't be comfortable with that unless the user has verified it, 
>> e.g., by adding the correspondent to the address book (Contacts).
>
> I think if the modified name was the result of a user-set regex, and 
> showed in the composition window for replies, then perhaps a way to 
> visually indicate in the composition window that the name was modified 
> with a way to revert, would be more than sufficient.

That's certainly implementable, but (to be honest) I don't think you 
should expect that any time soon. My thinking here is still that if your 
correspondent likes to send out emails with “Last, First” then they 
likely also prefer to receive them like that. I would certainly dislike 
if my correspondents changed the formatting of my name.

Note that MailMate *does* replace your own name with what you have 
configured when receiving emails and replying to them.

>> That's kind of how it already works. It's low-level though, both how 
>> to redefine a message list column and how to change the regex for 
>> finding first/last name. Would you like me to describe how this is 
>> done? (You might prefer to just hope that it'll be easier to 
>> customize some day.)
>
> It’s not just the column display in the mailbox, but also the 
> message display when viewing a message.  But, yes, if that can be 
> modified, that would be helpful.

Let's take the columns first to see if it works as you would expect it 
to. The attached file is going to crash MailMate until after the next 
update (r5462+). I had to fix a minor issue to make the no-spoof feature 
work with the re-ordering of first and last name.

This is where you need to save the file (you need to create the path):

	/Users/<username>/Library/Application\ 
Support/MailMate/Resources/MmMessagesOutlineView/outlineColumns.plist

-- 
Benny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freron.com/pipermail/mailmate/attachments/20180309/9cfb32fd/attachment.html>
-------------- next part --------------
{
	columns =
	{
		from =
		{
			title = "From";
			sortKey = "from.name.first,from.name.last,from.address"; // FIXME: should be '${from.name:${from.address}}'
			formatting =
			{
				formatString = "${from.name:?${from.name.first:+${from.name.first.#nospoof} }${from.name.last.#nospoof}:${from.address}}";
				placeholderString = "(No Sender)";
				doubleClick =
				{
					titleImage = "NSUser";
					titleFormatting = { prefixString = "From "; formatString = "“${from.address}”"; separator = " or "; };
					queryFormatting = { formatString = "from.address = '${from.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				};
			};
			relatedSearches =
			(
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From “${from.address}”"; separator = " or "; };
					queryFormatting = { formatString = "from.address = '${from.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From “${from.name}”"; separator = " or "; };
					queryFormatting = { formatString = "from.name = '${from.name}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From or To “${from.address}”"; separator = " or "; };
					queryFormatting = { formatString = "#any-address.address = '${from.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From or To “${from.name}”"; separator = " or "; };
					queryFormatting = { formatString = "#any-address.name = '${from.name}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				// {
				// 	titleImage = "NSUser";
				// 	titleFormatting = { formatString = "From “${cc.address}”"; };
				// 	queryFormatting = { formatString = "cc.address = '${cc.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				// },
			);
		};
		to =
		{
			title = "To";
			sortKey = "to.split.name.first,to.split.name.last,to.split.address";
			formatting =
			{
				formatString = "${to.name:?${to.name.first:+${to.name.first.#nospoof} }${to.name.last.#nospoof}:${to.address}}";
				placeholderString = "(No Recipient)";
				// Not tested (also missing .#nospoof): formatString = "${to.name:${to.address:${cc.name:${cc.address:${bcc.name:?Bcc: ${bcc.name}:${bcc.address:+Bcc: ${bcc.address}}}}}}}";
				doubleClick =
				{
					titleFormatting = { prefixString = "To "; formatString = "“${to.address}”"; separator = " or "; };
					queryFormatting = { formatString = "to.address = '${to.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				};
			};
			relatedSearches =
			(
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "To “${#recipient.address}”"; separator = " or "; };
					queryFormatting = { formatString = "#recipient.address = '${#recipient.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "To “${#recipient.name}”"; separator = " or "; };
					queryFormatting = { formatString = "#recipient.name = '${#recipient.name}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From or To “${#recipient.address}”"; separator = " or "; };
					queryFormatting = { formatString = "#any-address.address = '${#recipient.address}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
				{
					titleImage = "NSUser";
					titleFormatting = { formatString = "From or To “${#recipient.name}”"; separator = " or "; };
					queryFormatting = { formatString = "#any-address.name = '${#recipient.name}'"; separator = " or "; escapeSingleQuotes = 1; };
				},
			);
		};
	};
}


More information about the mailmate mailing list