Some of the best practices which increase the probability of your email landing into user's inbox and not in spam are following:
Don't use personal address: Instead of using your personal email address you should always use a paid one provided by your organisation / company.
Check links: Spam filters maintain a close watch on number of links as well as reputation of the domain to which you are linking. So a mail having 5-6 links is more likely to be treated as spammy in comparison to a mail having only 1 link.
Email Subject: Having a personalised email subject helps in increasing the probability of email landing in inbox. Don't use all capitalized subject line since it is known to trigger spam filters. Similarly words like dear, free, % off and reminder are known to trigger spam filters. For more detailed coverage on this issue refer this e-consultancy article
Email Content: Having too many images is known to trigger spam filters. Similarly not having unsubscribe link or having a very sales pitch email will also trigger spam filter alerts. Having an email with very different html and plain text version may be another reason. As a general practice write content with not many images or links, ensure that html has been properly coded, use personalization and write as if you are talking to a friend.
Also before sending an email you can check one of the various spam testing services mentioned under prevent emails from going to spam article.