Comment puis-je éviter que google mail server me demande de me connecter via un navigateur?
j'essaie d'envoyer des e-mails de Django en utilisant un e-mail configuré par Google Apps, ma configuration au settings.py
le fichier ressemble à quelque chose comme ceci:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'contact@mydomain.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
quand j'essaie d'envoyer un email en utilisant:
from django.core.mail import send_mail
send_mail("Happy new year", "We wish you the best for 3001",
"contact@mydomain.com", ["someuser@gmail.com"])
j'obtiens l'erreur suivante:
SMTPAuthenticationError:
(535, '5.7.1 Please log in with your web browser and then try again.
Learn more at
5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')
comme je travaille sur un serveur distant sans interface graphique, je ne peux même pas essayer de me connecter à partir du navigateur.
14 réponses
il suffit d'aller à https://accounts.google.com/DisplayUnlockCaptcha et cliquez sur "continuer". Cela va permettre l'accès à partir d'autres serveurs.
j'ai joué avec cela pendant quelques heures dans un test de concombre / capybara / sélénium-découvert quelque chose de stupide qui va corriger cette erreur pour de bon, garanti
Le trop familier erreur:
Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (Net::IMAP::NoResponseError)
Comme il s'avère, il y a deux "Allow Less Secure Apps" bascules qui doivent être changés pour permettre les logins à partir de dispositifs inconnus/IMAP.
ici: https://myaccount.google.com/security?pli=1#connectedapps (bas de la page)
Et un autre ici: https://www.google.com/settings/security/lesssecureapps
il faut changer ces deux bascules de GODFORSAKEN pour se débarrasser de ce message d'erreur.
edit: de l'utilisateur Milothicus (https://stackoverflow.com/users/3538026/milothicus): myaccount.google.com sous "connexion et Sécurité", sélectionnez 'Applications connectées et les sites". cette option offre également la possibilité de "permettre des applications moins sécurisées". après avoir activé celui-ci, mon serveur peut maintenant m'envoyer un e-mail automatisé.
quand j'ai essayé d'accéder à mon compte, on m'a envoyé ce courriel composé de ce lien. https://www.google.com/settings/security/lesssecureapps
vous pouvez allumer puis éventuellement éteindre après avoir fait les tests.
J'ai reçu la réponse suivante du support Googleapps:
Vous devez activer votre relais Sortant. Pour ce faire:
- Connecter à votre compte à google.com/a/yourdomain.com
- cliquez sur L'onglet Paramètres, puis sélectionnez courriel dans la colonne de gauche.
- dans la section Relais sortant, sélectionnez Autoriser les utilisateurs à envoyer du courrier via un SMTP externe lors de la configuration d'une adresse" from " hébergée en dehors de votre domaine.
- Cliquez sur Enregistrer les modifications.
Ils ont aussi fourni une aide lien: http://support.google.com/a/bin/answer.py?hl=en&answer=176054
après avoir activé le relais sortant et utilisé le proxy pour se connecter au webmail une fois de plus (grâce à @DaniloBargen et @joshcartme) le problème a été résolu. J'ai lu le lien expliquant ce qu'est le relais émetteur et je ne sais pas vraiment pourquoi j'en aurais besoin (Je ne crois pas que j'utilise un SMTP externe serveur.)
puisque je ne suis pas vraiment sûr que ce soit ce qui a résolu le problème, Je ne marquerai pas la réponse comme acceptée jusqu'à ce que j'obtienne une confirmation.
configurer un tunnel ssh vers le serveur en question pour que vous puissiez, depuis votre ordinateur personnel, vous connecter au client Web gmail en utilisant l'IP du serveur. Vous avez probablement besoin de tunnel port 80 et port 443, peut-être juste 443. Après s'être connecté via le client web, le problème devrait disparaître selon l'article de la base de connaissances répertorié dans le SMTPAuthenticationError.
voici un exemple d'installation du tunnel: http://www.noah.org/wiki/SSH_tunnel#simple_port_forwarding_.28SSH_tunneling.29
Option #1 (cela a fonctionné pour moi):
Après l'obtention de l'erreur Please log in with your web browser and then try again. Learn more etc.
lorsque j'essaie d'envoyer un courriel à partir de mon application web, Je me suis connecté au courriel via le navigateur de mon ordinateur local.
après je me suis connecté, il y avait une barre de notification jaune en haut qui me demandait si je voulais permettre à une application externe d'accéder à mon courrier. J'ai confirmé cela et Google M'a demandé de me connecter au compte à partir de l'application dans les 10 prochaines minutes. Ce sera blanc-la liste de l'application.
Option #2:
si L'Option #1 ne fonctionne pas pour vous, essayez ceci: http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/
etusm a fourni deux emplacements pour activer les applications moins sécurisées:
ici: https://myaccount.google.com/security?pli=1#connectedapps (en bas de la page)
Et ici: https://www.google.com/settings/security/lesssecureapps
les deux ont été activés, mais mon serveur sans tête ne pouvait toujours pas m'envoyer un e-mail. basé sur la recommandation google+ de JohnPang, j'ai trouvé un troisième endroit où je devais permettre l'accès à moins d'applications sécurisées:
dans myaccount.google.com, sous "Connexion et Sécurité", sélectionnez "Applications et sites connectés". cette option offre également la possibilité de "permettre des applications moins sécurisées". après avoir activé celui-ci, mon serveur peut maintenant m'envoyer un e-mail automatisé.
j'ai trouvé la solution: https://support.google.com/accounts/answer/185833?hl=en et enfin https://security.google.com/settings/security/apppasswords
Si vous testez votre projet sur un ordinateur local, vous devez aller sur le dernier lien, et permettre "l'Accès pour moins d'applications sécurisées".
avez-vous activé l'authentification à deux facteurs pour le compte apps ? Ensuite, vous pourriez avoir besoin d'utiliser une application mot de passe spécifique à l'application.
Tout ce qui précède n'aide pas dans mon cas (bizarre). Mais ce lien peut vous aider:
https://security.google.com/settings/security/activity
vous pouvez y accéder via Google Plus
- Ouvrir Google+
- sélectionnez "Sécurité" À partir du haut
- Sous "activité Récente", cliquez sur "Afficher tous les événements"
- Vous verrez une liste de "une Activité Inhabituelle"
- Il affiche "Application / de l'appareil de connexion tentative (empêché) Singapour" que je suis en utilisant AWS à partir de Singapour
- Cliquez sur "Modifier" > "Oui, c'était moi!"
- Réessayer de nouveau. Fait!
A partir de Maintenant (regardez ma date de publication) Il n'y a qu'un seul bouton "Autoriser les applications moins sécurisées" dans L'interface D'administration du compte Gmail: https://myaccount.google.com/u/0/security#connectedapps
ça va marcher à partir de votre ordinateur local (Mac ou PC) après cela.
Pour permettre l'accès à partir de Amazon EC2 (et je soupçonne d'autres hôtes situés dans le nuage), il y a encore un autre drapeau à mettre dans la bataille sans fin de Google avec spammeur: https://accounts.google.com/b/0/DisplayUnlockCaptcha
changez vos paramètres à https://www.google.com/settings/security/lesssecureapps afin que votre compte ne soit plus protégé par les normes de sécurité modernes.
ceci est dû au fait que certaines applications sont identifiées comme des applications moins sécurisées par google. Donc, pour utiliser ces applications, vous avez besoin de donner accès à ces applications. à faire suivre http://www.codematrics.com/your-imap-server-wants-to-alert-you-to-the-following-please-login-via-your-web-browser-gmail/
J'espère que cela résoudra votre problème.
dans mon cas, quand j'ai essayé de me connecter au compte google via le web, il m'a demandé un captcha. Je suis entré dans le captcha et puis l'automatisation travaillé.