ここから本文です

pythonでのメール送信について質問です。 pythonでメールを送信しようと考えて...

rarapotoxxさん

2017/12/513:00:26

pythonでのメール送信について質問です。

pythonでメールを送信しようと考えているのですが、エラーが出てわかりません。

いろいろ調べるいるんですが、わかりません。

Gmailの設定を変えて安全性の低いアプリの許可も有効とかにしましたが、できません。

わかる方いましたら教えていただけると助かります。

import smtplib
from email.mime.text import MIMEText

if name == 'main':
sender = 'xxxxxx@gmail.com'
password = 'xxxxxxx'
to = 'xxxxxxx@gmail.com'
title = 'test mail title'
body = 'test mail body'

msg = MIMEText(body)
msg['Subject'] = title
msg['From'] = sender
msg['To'] = to

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(sender, password)
server.send_message(msg)
server.close()

//
//
//
//
//
///実行結果エラー///
Traceback (most recent call last):
File "7.py", line 20, in <module>
server.login(sender, password)
File "/root/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/smtplib.py", line 730, in login
raise last_exception
File "/root/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)
File "/root/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/smtplib.py", line 642, in auth
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsb...\n5.7.14 NJ6wJos9fgUwvDG3y1bxYKqUdyh_7XbODKoqK_hRAA3nqeBy1wytLrQUterfXUkCUo5cj3\n5.7.14 5s4KZ7yPSL9XMAp-oH4uidN2mE9FLRuN7kSk_EWUUrC0Yna2tuCe0REZoBf1LWOE3_Xs_e\n5.7.14 X-CUF0wHPhIPw-CgOTkQS8lKYGbQJLKA4lEcsDS_wPmVasDHWX4nXG2P9q1fqH-Cg_zU7v\n5.7.14 bYdJGzpI7f2Y6_zm2wDrEqo4qOH90> 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 e7sm28485064pfj.44 - gsmtp')

閲覧数:
29
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2017/12/513:55:07

エラーは SMTPAuthenticationError - 534-5.7.14 ということで、ユーザー認証が拒否されている状態だと思います。

下記ヘルプに対処方法がいろいろ書かれていますが、2 段階認証プロセスを使用してアプリ・パスワードを使ってユーザー認証するのがいいと思いますよ。

"IMAP を使用して他のメール クライアントで Gmail のメールを読む - Gmail ヘルプ"
https://support.google.com/mail/answer/7126229?hl=ja#cantsignin


あるいは smtplibではなくて Googleの APIクライアントライブラリを用いると OAuth2でユーザー認証できますよ。
(私はこちらを使ってます。)

"API Client Library for Python  |  Google Developers"
https://developers.google.com/api-client-library/python/

この質問は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。