Having used Mail.app for the last four years, I’ve surrendered and switched to Gmail as my email client. I was getting a little fed up with the junk mail filter not really doing what ‘it says on the tin’. Also, I’m now using around three different computers, and having to set-up those accounts on each and getting all the settings just right is a pain.
Gmail allows me to check my non-Google accounts right within the app using Mail Fetcher. So long as your email account has POP access, Mail Fetcher can grab the email. You can also label the incoming mail so it’s easy to see what email has been sent to which account.
The junk mail filter on Gmail is far better to Mail.app. This is mainly because I’m guessing that whenever you report spam to the Gmail team, they can update the filter and then all Gmail users benefit from it. I’ve had one or two pieces of spam since switching. After clicking on the ‘Report as Spam’ button, I’ve not received the same piece of spam since. Compare that to Mail.app, where whenever I hit the ‘Junk’ button, it only ever seemed to move it to the junk mail folder, and do nothing about prevent similar spam in the future from hitting my inbox.
Google Notifier in my menubar lets me know when I have mail. I can also use it to access my inbox, or compose a new message.
The only feature that is lacking, is specifying a time period to check your non-Gmail accounts. In Mail.app I had this set to every minute. I logged into Gmail just now, and it had been nine hours since my email had last been checked! One minute may be a strain on Google, and they may have to have a longer period as the minimum. I’d be happy with that, so long as there was a specified time period. Hopefully they can add this feature soon.