でメールを送信していますので、最近私の大学のメールアカウント[email protected]_college.edu
でPython 3.6を使用してメールを送信しようとしています。このアカウントはGoogleでホストされているので、Gmailやドライブなどで使用することができます。そのように、私が望むことを達成する簡単なプログラムを書くだけでも簡単だと思っていましたが、何も動いていないようです。Python 3は、Gmailでホストされている大学アカウント
import smtplib
TO = 'receiver_email'
SUBJECT = 'TEST MAIL'
TEXT = 'Here is a message from python.'
# Gmail Sign In
gmail_sender = '[email protected]_college.edu'
gmail_passwd = 'my_password'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_sender, gmail_passwd)
BODY = '\r\n'.join(['To: %s' % TO,
'From: %s' % gmail_sender,
'Subject: %s' % SUBJECT,
'', TEXT])
try:
server.sendmail(gmail_sender, [TO], BODY)
print ('email sent')
except:
print ('error sending mail')
server.quit()
これを実行するたびに、「不正な資格情報」エラーが表示されます。具体的に私が取得エラーは、このいずれかになります。
Traceback (most recent call last):
File "D:\Coding Files\Projects in Progress\autoEmail.py", line 14, in
<module>
server.login(gmail_sender, gmail_passwd)
File "C:\Users\Joe\AppData\Local\Programs\Python\Python36-
32\lib\smtplib.py", line 730, in login
raise last_exception
File "C:\Users\Joe\AppData\Local\Programs\Python\Python36-
32\lib\smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)
File "C:\Users\Joe\AppData\Local\Programs\Python\Python36-
32\lib\smtplib.py", line 642, in auth
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not
accepted. Learn more at\n5.7.8 https://support.google.com/mail/?
p=BadCredentials g8sm9220621qtg.23 - gsmtp')
私はGmailのAPIを扱う試みたが、それは私のGmailの資格情報を取得し、クロムのページへの私に署名することができましたが、私は見つけるように見えることができませんでした私はGmail APIを使用して理解することができた十分なチュートリアルです。
ご協力いただければ幸いです。ありがとうございます
Gmailのデフォルト設定では、ユーザー/パスの識別ができないという問題があります。 oauthを使用するか、安全性の低いアプリの設定と呼ばれるものを使用する必要があります。https://support.google.com/accounts/answer/6010255?hl=en – fernand0
エラーメッセージには、対処方法、https: //support.google.com/mail/?p=BadCredentials –
私はリンクを見ましたが、どの問題が私のために適切かはわかりませんでした。私は今、それが安全でないデバイスに由来していることを理解していますが、それが最良のアプローチであるかどうかはまだ分かりません。 – wjmccann