Gmailを介してPythonでメールを送信しようとしています。ここに私のコードがあります:
import smtplib
fromaddr = '......................'
toaddrs = '......................'
msg = 'Spam email Test'
username = '.......'
password = '.......'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
エラーが表示されます:
Traceback (most recent call last):
File "email_send.py", line 18, in <module>
server.login(username, password)
File "C:\.....\Python\lib\smtplib.py", line 633
, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepte
d. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=1425
7\n5.7.8 {BADCREDENTIALS} s10sm9426107qam.7 - gsmtp')
これはログインに関する問題のようです。 1つのことを除いて、ログイン情報が正しいことは確かです。ユーザー名は「[email protected]」ですか、それとも単に「blah」ですか?同じエラーを両方試しました。
何が間違っているのでしょうか?
注:すべてのピリオドは、パスワード/メール/ファイルパス/などではありません。
私は同様の問題に遭遇し、この質問につまずいた。 SMTP認証エラーが発生しましたが、ユーザー名/パスが正しいです。これが修正されたものです。私はこれを読みました:
https://support.google.com/accounts/answer/6010255
一言で言えば、Googleはこの種のログインを「安全性が低い」としてフラグを立てているため、smtplibを介してログインすることを許可していません。アクセスを許可します。
https://www.google.com/settings/security/lesssecureapps
それが設定されると(以下のスクリーンショットを参照)、動作するはずです。
ログインが機能するようになりました:
smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
smtpserver.login('[email protected]', 'me_pass')
変更後の対応:
(235, '2.7.0 Accepted')
応答前:
smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 g66sm2224117qgf.37 - gsmtp')
まだ動作しませんか?まだSMTPAuthenticationErrorを受け取りますが、コードが534になっている場合、場所が不明であるためです。このリンクに従ってください:
https://accounts.google.com/DisplayUnlockCaptcha
[続行]をクリックすると、新しいアプリの登録に10分かかります。したがって、今度は別のログイン試行に進み、それが機能するはずです。
smptlib
にこのエラーが表示されると、しばらく動かなくなることがあります。
235 == 'Authentication successful'
503 == 'Error: already authenticated'
メッセージは、ブラウザーを使用してサインインすることを示しています。
SMTPAuthenticationError: (534, '5.7.9 Please log in with your web browser and then try again. Learn more at\n5.7.9 https://support.google.com/mail/bin/answer.py?answer=78754 qo11sm4014232igb.17 - gsmtp')
「lesssecureapps」を有効にした後、コーヒーを飲みに戻って、「DisplayUnlockCaptcha」リンクをもう一度試してください。ユーザーエクスペリエンスから、変更が反映されるまで最大1時間かかる場合があります。その後、サインインプロセスを再試行してください。
[〜#〜] update [〜#〜]::ここで私の答えを参照してください: Gmailをプロバイダーとして使用してメールを送信する方法Python?
同じ問題がありました。認証エラーは、セキュリティ設定、たとえば2段階認証が原因である可能性があります。サードパーティのアプリが認証をオーバーライドすることはできません。
ステップ1 [2段階認証プロセスを無効にするリンク]:
https://myaccount.google.com/security?utm_source=OGB&utm_medium=act#signin
ステップ2:[安全性の低いアプリを許可するためのリンク]
https://myaccount.google.com/u/1/lesssecureapps?pli=1&pageId=none
これですべてうまくいくはずです。
2段階認証プロセスを有効にする場合は、共通のパスワードを使用する代わりに、特別なアプリパスワードを生成する必要があります。 https://myaccount.google.com/security#signin
同じ問題がありました。そして、Macでメールアプリケーションのアプリパスワードを作成することで修正します。アカウントで見つけることができます->セキュリティ-> Googleへのサインイン->アプリのパスワード。以下はそのためのリンクです。 https://myaccount.google.com/apppasswords?utm_source=google-account&utm_medium=web