En supposant que ton script est bon, j'ai pas vérifié, Gmail ils bloquent souvent, plusieurs raisons possibles https://support.google.com/mail/?p=BadCredentials.

Avant il fallait autoriser les applications non sécurisées à se connecter à ton compte mais en vérifiant je viens de voir que ça se fait plus depuis quelques mois. Maintenant il faut utiliser un mot de passe d'application à créer ici https://myaccount.google.com/security
Mais pour pouvoir le créer il faut que t'actives l'authentification en 2 étapes avant 
Et faudra utiliser le mot de passe d'application dans ton script au lieu de ton vrai mot de passe.
Parfois faut valider un captcha aussi pour que ça marche https://accounts.google.ce.com/b/0/DisplayUnlockCaptcha