I believe that all the major email servers will look at the following before they decide to mark a received email as spam or not.
1. Mx record.
2. SPF record.
3. DKIM signature.
4. SMTP authentication.
5. Email from SSL ports.
6. Email message check to bayesian.
Is there any other things that an ordinary email server will check for?
Because my email server passed all the above but still my emails are marked as spam by leading email servers.
Reverse DNS records are usually rated pretty highly. You'll need a reverse DNS record set up for your domain.
An RDNS record is exactly as it sounds; a regular old DNS record associates an IP address with a domain whereas a reverse DNS record associates a domain and an IP address.
Some servers are set up to ensure that if an email purporting to be from foo.com is actually being delivered by the IP address associated with foo.com assuming your SPF record says that mail is supposed to come from foo.com.
Somewhere along the line, they will likely check blacklists. You can check if your mail server is on a blacklist by using tools like "mxtoolbox". http://www.mxtoolbox.com/blacklists.aspx
Target mail servers do not check for SSL and not for SMTP authentication. Because these things can only be checked at the first mail server in the delivery chain. So all information in the header about SSL and authentication could be forged along the way. Target servers can only check the server they actually accept the mail from. These servers are checking for 1,2,3 and 6.
Additionally they check the HELO name, Blacklists and Whitelists. Very good servers also check the reputation. Meaning they check the historical rate between ham and spam of an IP address. Some also take into account from which country the mail originates and if the language matches. Others do fuzzy checksumming and calculate the amount of mails with the same checksum.
There are far more points checked. The SpamAssassin ruleset consists of hundreds of rules that all are taken into account. Some postmasters even have their own rules that block Spam.
Spam blocking is way too localized. While you can safely reach one recipient's mailserver, another recipient's will probably block the mail (even with the same content).
Each major provider has their own procedures:
Yahoo: http://help.yahoo.com/l/us/yahoo/mail/postmaster/forms_index.html
Gmail: https://mail.google.com/support/bin/answer.py?answer=81126
Hotmail: http://mail.live.com/mail/postmaster.aspx
Search for the name + "postmaster" to find out how to work with that provider to get your mail not marked as spam.
If you're being rejected by one major email service alone then its probably some little thing that they are especially fussy about. As John says in his comment to the question itself, they're not that consistent.
Most of the major email providers have a "help for postmasters" section hidden away on their website, which will tell you what things they are fussy about and you can use this to help get these settings right.
If you're being rejected by several of them then it's a problem at your end. It's really that simple. If you're getting rejection messages then I'd see if there were any good clues in those. I'd also check to see if my IP was on a 'popular' email blocklist and then I'd re-check all the things you mention in your question. Not having SPF records won't make everyone automatically reject your email but having them and getting them wrong may well do, for example.