When I am sending a mail from my one mail account (Yahoo) to other (Gmail), Gmail automatically puts my mails into the Spam folder. What is the basic criteria to send an email by which mail servers cannot treat my mail as a spam?
While the list of criteria used by GMail's spam filter is a trade secret, most spam filters are quite similar.
The list of spam criteria used by a very popular Spam Assassin spam filter is made public, together with weights.
Some of the most important ones, cherry-picked by me:
- Character set indicates a foreign language
- Body contains a ROT13-encoded email address
- Message body has many words used only once
- Message body mentions many internet domains
- Received via a relay in Spamhaus XBL
- Received via a relay in list.dsbl.org
- Subject contains a gappy version of 'valium'
- Subject contains a gappy version of 'viagra'
- Attempts to disguise the word 'viagra'
- Relay HELO'd using suspicious hostname (IP addr 1)
And so on.
There are some services that allow you to test your message for compliance with the spam filters and see what exactly is wrong with it — http://spamcheck.sitesell.com/ is one of them.
So Gmail has a learning system that is part based on all users and part based on a single user.
- If Many users mark your mail as spam then it may get catagories as spam for everyone.
- If that one user marks it as spam then it is only spam for them
- If one user digs something marked as spam out of their spam folder then it is only not-spam for them
This is on top of the standard spam checks @apostlion described.
Easy answer is not to send spam, or things that users may consider spam.