How to use AND , OR, NOT condition in Gmail filters?


👤 Diwas Poudel    🕒 26 May 2023    📁 TECH

Gmail is one of the most widely used email clients in the entire world. If you frequently use Gmail, then you will find that using Gmail Filter is beneficial for you. It makes it easier and quicker for you to find the specific mail you're looking for. In this article, I will be explaining to you how to use the "And", "Or", and "Not" conditions in Gmail Filter.

These (AND, OR, NOT) conditions/operations are logical operators. Conditions are statements that help the user to make decision-based on multiple expressions.

Let's discuss them one by one.

How to Use OR Condition Filter in Gmail?

OR means at least one of the conditions is true.

In Gmail, we can use three symbols representing Or Condition and they are:

  •  |
  • { }
  • OR

Example:
Suppose you want to search all mail sent by Mail Id abc@gmail.com OR xyz@gmail.com then type :

from:abc@gmail.com OR to:xyz@gmail.com 

OR

from:abc@gmail.com | to:xyz@gmail.com 

OR

{from:abc@gmail.com to:xyz@gmail.com } 
Note OR is case sensitive so, 'or' does not work like

You can even use 3 or 4 or many conditions like

from:a@gmai.com OR from:b@gmail.com OR from:c@gmail.com OR from:d@gmail.com   

But the cleanness one and my favorite is using the curly bracket as shown below.

from:{ a@gmail.com b@gmail.com c@gmail.com d@gmail.com }

If you want to get particular mail to send by you to recipients.

to:({first@email.com second@email.com third@email.com})

Find all the mail between two Dates:

after:2021/01/01 before:2022/01/01 

This will provide you with all the mail from 2021/02/01 to 2022/01/02

If you want to filter among multiple words then we need to use a quotation, as shown below.

"Search1" OR "Search2" OR "Search3" 

Example: Finding out those mail which has "terms of service" OR "privacy policy" in the mail then you
can type below.

"terms of service" OR "privacy policy"

 Using Wildcard along with OR condition

You can look at below example:

From: abc*@ourtechroom.com

This will find out email send from email address starts with "abc" and ends with "@ourtechroom.com".

Here * indicates any character in between.

How to use the "Not" Condition in Gmail Filter?

NOT conditions make true statement to false statement and false statement to true statement.

For the 'not' condition you can simply use the '-' symbol.

Also Read: How to find archive mail? How to Create archive mail in Gmail?

Example 1:  Filter for finding those mail except send to "abc@gmail.com" look as below:

-to:abc@gmail.com 

Example 2: Suppose you want to forward all messages send to the account except say abc@gmail.com and xyz@gmail.com then your Gmail filters look like this.

(-from(abc@gmail.com OR xya@gmail.com))

Use Wildcard and "NOT" condition

Example:

to:abc@gmail.com subject:!spam

Find all message except the subject that contains "spam" and send to "abc@gmail.com" 

Note here wildcard is exclaimation sign(!)

How to use the "AND" Condition in Gmail Filter?

AND means every condition is true.

  • Evaluation of query from left to right.
  • Scanning from left, if found false then immediately stops

We are using AND condition knowingly and unknowingly. Let's look at the example of popularly used AND Condition in Gmail Filter.

1) Find unread emails from the inbox

(in:inbox) and (is:unread)

or simply

(in:inbox) (is:unread)

2) Find the emails either in the inbox or the spam.

label:spam OR label:inbox

3) Find emails only send to me

to:me and -cc:*  -bcc:* 

Here, we are requesting mail sent to me and not to any bcc and cc recipients.

4) Get All unread messages except a@gmail.com and b@gmail.com 

is:unread -{from:a@gmail.com from:b@gmail.com}

5) Using Wildcard along with AND condition

Example:

to:abc@gmail.com subject:msg body:[*1]

This filter will find the emails that are sent to "abc@gmail.com", and have the word "msg" in the subject and contain the string "[*1]" in the message body.

FAQ:

How to exclude labels from Gmail Search?

We can take the help of AND and OR Condition operators like the below:

(label:MyLabel1 AND NOT label:inbox AND NOT label:MyOldBadLabel1)

This query will include all mail that has a MyLabel1 label and exclude mail having an inbox label and MyOldBadLabel1.

2 How do Filter emails that are not labeled?
has:nouserlabels -label:Inbox -label:sent -label:Chats -label:drafts -label:trash