Pasaba que al hacer un script de prueba de envío de correo desde localhost funcionaba y desde un servidor de Pre no. Esto es porque google detecta que se está intentando autenticar desde un sitio potencialmente peligroso y por tanto pide una validación adicional para dejarte hacerlo. Para hacer esa validación hay que hacer login con la cuenta desde la que se quiere enviar los correos y acceder a este enlace: