AWSのcloud9上でpythonを使ってgmailを送りたいのですが、エラーが出ます。自分のパソコン上で実行すると無事送信できるので、コードの不備やgmail側のブロックはないと思われます。
cloud9はpython3を使っています。素人のためそれ以上のことは把握できていないのですが何が原因に考えられますか?
以下がコードです。他の方のサイトを参考にさせていただいたのでコメントなどそのままです。
python:mail.py
1import smtplib 2from email.mime.text import MIMEText 3from email.header import Header 4 5charset = "utf-8" 6myMailaddress = "***@gmail.com" # 自分のGmailアドレス 7password = "***" # Gmailアカウントのパスワード 8toMailaddress = "***" # 送信相手のメールアドレス 9 10msg = MIMEText("ちゃんと送信できていますか?", "plain", charset) # メール本文 11msg["subject"] = Header("メール送信テスト!".encode(charset), charset) # メールタイトル 12 13smtp_obj = smtplib.SMTP_SSL("smtp.gmail.com", 465) # Gmailでのメール送信は「smtplib.SMTP_SSL」を用いてポート番号465を使用すること。 14smtp_obj.ehlo() # ehlo()でSMTPサーバーに挨拶しておきましょう。挨拶しておかないとログインできません! 15smtp_obj.login(myMailaddress, password) # ログイン 16smtp_obj.sendmail(myMailaddress, toMailaddress, msg.as_string()) # メール送信 17smtp_obj.quit()
エラーメッセージは少し長いですが以下です。
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbts\n5.7.14 4IOutkDssDm1ZBRyXOJ5CMSm4G2mta00vlC2VqNKd-VOYbhe39KYi8HXFacMCENuOPve0u\n5.7.14 I2hfBb5UVGaVcAbO5VqZYNeshCaEbA4JGXFN_yOwrfL_FjZdyDAJAIf1FmRciyWhtSbBo5\n5.7.14 EPyDekpEZVjL2UaSIzkjxyS47r6_KMsD3iRBOGlU75SA_sJrWLuuhWiOU2AKi2AhdYufOL\n5.7.14 XPN4-hNQ0TDYBxxUg4kGpiYfcuFzM> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 n124-v6sm4432829itg.7 - gsmtp')
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。