When testing the mail trigger, with a simple set up just to get familiar with how it works, it appears that it is getting triggered by emails that don't match the condition at all.
The testing set up is:
Job Settings:
1) Run once
2) Do not run job if it is running
3) Run tasks in order
Trigger:
Main settings -
Email -
Connection
IMAP
Port 143
Timeout 60
use default folder
connection timeout 180 s
retries 3
S/MIME - NONE
Conditions
From address= <specific email>
Subject contains= <specific string>
Body contains = <specific string>
Received date = {DATENOWADD(Minutes,-5,T)}
Actions
Trigger -
All match
Message on Server -
All match, leave message on server, mark as read
Copy message to folder -
All Match, "INBOX/Email TEST"
Save email - never, never
Time Out - use time out, 30 seconds
The test job contains a single task, to write the values of the trigger variables to a file. (There are constraints on the job to keep it from running again, while testing, because it is monitoring a very large, very active mailbox that can receive tens of thousands of emails per day. The immediate goal is to just learn how to use it correctly.)
The result that I get is that the file that is being written to in the task indicates that it does get triggered for an email that matches the conditions, but it may also be triggered by an email that does not match all of the conditions that immediately follows the good email in the inbox. (I'm not sure why it would be triggered more than once; it seems like the set up would only allow it to be triggered a single time before the job inactivates.)
However, while the job may be successfully triggered by emails that match the conditions, according to the file that is being updated with the trigger variables, in no case has it taken the prescribed action in the trigger, to copy the email to the Email test folder.
There have also periodic issues when the trigger inactivates, "Object reference not set to an instance of an object. - retrying to connect", when there have been no changes to the trigger configuration since the last successful triggered job run.