No se puede enviar correo desde localhost / xampp

Error al conectarse al servidor de correo en el puerto “mail.google.com” 587, verifique su configuración “SMTP” y “smtp_port” en php.ini o use ini_set()

Configuré mi archivo xampp php.ini y sendmail.ini para usar mi cuenta de Gmail para enviar correos electrónicos desde mi script PHP. estoy usando xampp. después de cambiar la [función de correo], parte de mi php.ini se ve así (he borrado las líneas comentadas para simplificar)

 [mail function] SMTP = mail.google.com smtp_port = 587 mail.add_x_header = Off 

y mi archivo sendmail.ini se ve así

 [sendmail] smtp_server=mail.google.com smtp_port=587 smtp_ssl=auto error_logfile=error.log auth_username=babar+gmail.com auth_password=********** 

Entonces, ¿qué me he perdido? ¿Por qué recibo este error?

Está utilizando una configuración SMTP incorrecta para gmail. Los correctos son:

En php.ini

 [mail function] ;SMTP = localhost ;sendmail_from = me@example.com sendmail_path = "c:\sendmail\sendmail.exe -t -i" 

En sendmail.ini

 [sendmail] smtp_server=smtp.gmail.com smtp_port=587 smtp_ssl=tls auth_username=me@example.com auth_password=********** 

Recuerde: si ha habilitado la autenticación de 2 pasos , debe crear una contraseña específica de la aplicación.

establecer el smtp_ssl = auto como smtp_ssl = true

porque el servidor smtp de google necesita SSL