Believe it or not, but I have started to dig into this *now* 7,5 years later.
But I can not get it to work.
Maybe the bundle spec have changed?
The attached is what I try to do. And I try to debug, but when triggering the
action, I get exactly zero output part from the following when I run MailMate
in the terminal:
2024-03-16 11:12:12.943 MailMate[50646:2638116]
performBundleItemWithUUIDString: C6B05304-5FA5-416A-820D-2B19893C85F2
That is good of course, but then?
What I try to do which is different from what Benny had as example, is to move
the message to a different account, and also I am using a variable date.year
that might not exist? But that should give an error I presume?
Bundle is attached.
Patrik
On 31 Oct 2016, at 14:18, Benny Kjær Nielsen wrote:
> On 31 Oct 2016, at 4:10, Patrik Fältström wrote:
>
>> I have one mailbox where I have the name of subfolders in the form of
>> "${#date.month}".
>>
>> Can I also use that expression in one way or another in the rules?
>>
>> For example: "Move to folder /x/${#date.year}/${#date.month}"
>
> Not as easily as that (although it would be nice if it were). The workaround
> is to create a bundle command and I've attached an example of that. That
> command can then be used in rules.
>
>> And of course have that folder be created if it does not exist?
>
> That always happens when moving something to a non-existing mailbox.
>
> I should explain the command (since it's undocumented):
>
> ~~~
> {
> name = 'Archive to Date';
> environment = 'MM_FOLDER=${#date.month/-/\\//}\n';
> ~~~
>
> The `environment` is used to “transfer” a header value to the script. In this
> case a bit of regex is also used to convert `-` to `/`.
>
> ~~~
> output = actions;
> command = '#!/bin/bash
> cat << END
> { actions = ( { type = moveMessage; mailbox = "/Archive/${MM_FOLDER}"; } ); }
> END
> ';
> ~~~
>
> The `actions` output type is used when a script needs MailMate to perform
> various actions, e.g., setting tags, moving messages, creating new (and
> possibly send) messages, etc. MailMate expects a property list with the
> wanted actions. The `moveMessage` type requires a `mailbox` value. When this
> value starts with `/` then the mailbox name is automatically assumed to be
> located in the same mailbox as the message moved.
>
> ~~~
> uuid = '57A0FF65-7E0B-4853-8355-A4708FD1BC5E';
> }
> ~~~
>
> Note that if you create other commands then the `uuid` *must* be unique. You
> can put such a value on the pasteboard with this snippet for a Terminal
> window:
>
> uuidgen | tr -d "\n" | pbcopy
>
> Save the attached bundle in this folder:
>
> ~/Library/Application Support/MailMate/Bundles/
>
> Note that it should not be necessary to relaunch MailMate when making changes
> to bundles.
>
> --
> Benny
> _______________________________________________
> mailmate mailing list
> [email protected]
> https://lists.freron.com/listinfo/mailmate<<attachment: Move.mmBundle.zip>>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mailmate mailing list [email protected] https://lists.freron.com/listinfo/mailmate
