I would like to know if it is possible to encrypt all my mail with my one public key so the mail provider (gmail) cannot read its contents?
I am using OSX Mountain Lion
You can not control how other people send their mail, so you can not protect all received email before you get it. (And if you are worried about your provider, by then they already had a chance to read it).
As for sending: If you control your own computer then you can encrypt whatever you store on it. Both for mail (and other files) which you want to keep as well as mail you are about to send.
If you do not use your own computer but the gmail web interface then you are back at their mercy.