The reason that localhost works fine for actual webhosts is that they have a mail transfer agent (MTA) setup on the webserver that can handle SMTP connections and send mail; Windows does not come with this software installed by default.
Since you're trying to send from your G-mail address, you'll not only want to connect to Gmail's SMTP servers but also authenticate with the server before sending the message. As such, you've exceeded the functionality of the internal mail() command and will need to use 3rd-party solutions such as PHPMailer, XPertMailer, etc.
TimG wrote:Unrelated, but also very basic - what makes changes to php.ini appear in the php.info file? Do I have to reload the page, restart the localhost or reboot the machine?
That depends on your setup. If PHP is being executed as a CGI binary, then changes to php.ini should be reflected in a phpinfo() readout immediately. Otherwise, if using PHP as an ISAPI module, you will most likely need to restart your webserver (but not the entire machine).