SMTPAuthenticationError lors de l'envoi de courrier en utilisant gmail et python [dupliquer]
cette question a déjà une réponse ici:
quand j'essaie d'envoyer du courrier en utilisant gmail et une erreur de python s'est produite ce type de question sont déjà dans ce site mais ne m'aide pas
gmail_user = "me@gmail.com"
gmail_pwd = "password"
TO = 'friend@gmail.com'
SUBJECT = "Testing sending using gmail"
TEXT = "Testing sending mail using gmail servers"
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_user, gmail_pwd)
BODY = 'rn'.join(['To: %s' % TO,
'From: %s' % gmail_user,
'Subject: %s' % SUBJECT,
'', TEXT])
server.sendmail(gmail_user, [TO], BODY)
print ('email sent')
erreur:
server.login(gmail_user, gmail_pwd)
File "/usr/lib/python3.4/smtplib.py", line 639, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14
<https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtl1n5.7.14 Li2yir27TqbRfvc02CzPqZoCqope_OQbulDzFqL-msIfsxObCTQ7TpWnbxIoAaQoPuL9gen5.7.14 BUgbiOqhTEPqJfb02d_L6rrdduHSxv26s_Ztg_JYYavkrqgs85IT1xZYwtbWIRE8OIvQKfn5.7.14 xxtT7ENlZTS0Xyqnc1u4_MOrBVW8pgyNyeEgKKnKNyxce76JrsdnE1JgSQzr3pr47bL-kCn5.7.14 XifnWXg> Please log in via your web browser and then try again.n5.7.14 Learn more atn5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 fl15sm17237099pdb.92 - gsmtp')
3 réponses
votre code semble correct. Essayez de vous connecter via votre navigateur et si vous êtes en mesure d'accéder à votre compte, revenez et réessayez votre code. Assurez-vous d'avoir saisi votre nom d'utilisateur et votre mot de passe correctement
EDIT : Google bloque les tentatives de connexion à partir d'applications qui n'utilisent pas les normes de sécurité modernes (mentionné sur leur support page ). Vous pouvez cependant activer / désactiver ce dispositif de sécurité en allant sur le lien ci-dessous:
allez sur ce lien et sélectionnez allumez
https://www.google.com/settings/security/lesssecureapps
votre code semble correct, mais parfois google bloque une ip lorsque vous essayez d'envoyer un e-mail depuis un emplacement inhabituel, donc, vous pouvez débloquer dans le lien suivant
https://support.google.com/accounts/answer/6009563 et cliqué accounts.google.com/DisplayUnlockCaptcha .
je viens d'envoyer un e-mail avec gmail à travers Python. Essayez d'utiliser smtplib.SMTP_SSL pour faire la connexion. Vous pouvez également essayer de changer le domaine et le port gmail.
ainsi, vous pouvez obtenir une chance avec:
server = smtplib.SMTP_SSL('smtp.googlemail.com', 465)
server.login(gmail_user, password)
server.sendmail(gmail_user, TO, BODY)
comme un plus, vous pouvez vérifier le module e-mail builtin. De cette façon, vous pouvez améliorer la lisibilité de vous votre code et gérer les en-têtes e-mails facilement.