#452 accepted
Kieran P

Signature extra lines

Reported by Kieran P | October 3rd, 2013 @ 12:47 PM

When I insert a signature I see 2 blank lines above it. Is this deliberate and if so can it be changed? (I see a bug note in the release notes that extraneous space was removed in an older version). I ask because at work I now need to add "Confidential" to the top of confidential emails and I was hoping to easily use a signature placed at the top to do so.

Using Version 1.6 (3747).

Thanks.

Comments and changes to this ticket

  • benny

    benny October 4th, 2013 @ 07:24 AM

    • State changed from “new” to “accepted”

    This is intentional since this is what would usually be desired when adding a signature when top-posting. I guess what you need is the signatures system to allow you to explicitly place the location of the caret, e.g., something like (in the Signatures editor):

    CONFIDENTIAL: Yadada...
    
    {}
    
    -- 
    Kind regards,
    
    Kieran
    

    MailMate should then detect the use of {} (or some other placeholder) and use that for the caret position instead of the blank lines above the signature.

    I'll think about this, but don't expect it soon. Comments are welcome in this ticket (from anyone).

  • Kieran P

    Kieran P October 8th, 2013 @ 05:24 PM

    Thanks, I understand. Your (future) idea seems like a good one to me.

    For now, I'm using a custom key binding to insert the text. I was wondering if the new verifications functionality in Rev 3716 could be used to check if the subject or body contains "Confidential". Is this possible, and if so, can you guide me on the syntax?

    Thanks,
    Kieran

  • benny

    benny October 8th, 2013 @ 06:47 PM

    Yes, that is possible.

    Save the following:

    {
        verifications = (
            {
                title = "Message not marked as confidential";
                details = "You have not marked the message as confidential. Are you sure you want to send it?";
                conditions = "#subject.body !~ 'confidential' and #unquoted !~ 'confidential'";
            }
        );
    }
    

    In this file:

    ~/Library/Application Support/MailMate/Resources/messageVerifications.plist
    

    I have not tested this.

  • Kieran P

    Kieran P October 9th, 2013 @ 12:06 PM

    Thanks. The combo did not seem to work as expected, so I tested just "#unquoted !~ 'confidential'" and it seems inconsistently applied (sometimes checks correctly, sometimes not).

    Some questions:
    - What if there are other tests (eg the empty body test)? It seems to check for first one and if OK is clicked does not check these custom verifications. - How is case sensitivity applied? - "!~" means "is not equal" or "does not contain"? Is there any documentation on the syntax and options?

    Thanks.

  • benny

    benny October 9th, 2013 @ 12:12 PM

    It should have been subject.body instead of #subject.body. Sorry about that.

    Note that #unquoted will not catch anything within quoted text (with a > prefix). In this case I would consider that a feature. Can that explain it?

    MailMate shows the first failing test. If you choose to send then the next failing test is shown. Etc.

    The !~ means “does not contain”. There is no documentation, but you can create a smart mailbox with the search conditions that work for you and then take a look in the following file to see the query string:

    ~/Library/Application Support/MailMate/Mailboxes.plist
    
  • Kieran P

    Kieran P October 9th, 2013 @ 12:42 PM

    Thanks. The creation of a smart mailbox and using the query string is a great tip and a useful debugging feature. I'm trying something along the lines of (#unquoted !~[a] 'Confidential' and subject.body !~ 'Confidential'). The [a] came from the saved query, although later it turned to [ca] (see below).

    I still see some inconsistency with using #unquoted (in the smart mailbox too). For example if I use the following smart mailbox:

    {   filter = "(#unquoted !~[ca] 'Confidential' and subject.body !~ 'Confidential')";
    name = "Not Conf";
    parentUUID = "ALL_MESSAGES";
    set = "ALL_MESSAGES";
    uuid = "0E65E6F0-9872-4235-A12E-01072968FE4E";
    }
    

    It will correctly NOT find a message with the following:

    "Confidential  
    My test"
    

    But will incorrectly find:

    "Confidential  
    
    My test"
    

    ie returns seem to cause a difference in operation. Is that expected?

  • benny

    benny October 9th, 2013 @ 12:55 PM

    Yes, that is expected behavior. The #unquoted virtual header should be interpreted as one-header-per-paragraph. Newlines cannot be matched.

    Sorry about forgetting the [a]. It tells MailMate to look in sub-bodyparts which is important for Markdown with HTML or for signed/encrypted messages.

    The [c] tells MailMate to make a case insensitive match.

  • Kieran P

    Kieran P October 9th, 2013 @ 01:21 PM

    OK, I think I understand. This means that "#unquoted !~ 'Confidential'" and "#unquoted ~ 'Confidential'" are not exclusive and the second message above will actually match both of these. I can see why based on your description that each para is handled separately, but it's not intuitive and also means that the test is not useful for my case.

    Is there a way to do !(#unquoted ~ 'Confidential'), which would distinguish correctly I think? In the GUI only "ALL" and "ANY" seem supported, not "NONE".

  • benny

    benny October 9th, 2013 @ 01:42 PM

    Hmm, you cannot test this one in the GUI, but it might work if you use:

    #unquoted !~[ax] 'Confidential'
    

    The x (eXclusive) is used internally by MailMate and it means that the comparison must be true for all values of #unquoted. I haven't tested this. Internally it is used with a slightly different purpose.

    Sorry for not providing a working example the first time.

    (It's actually a bug or missing feature that this does not work in the GUI.)

  • benny

    benny October 9th, 2013 @ 01:46 PM

    The discussion of the missing eXclusive option can be found here: #307.

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

People watching this ticket

Pages