質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

11841閲覧

pythonでyahooメールを送りたい

basscl

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/10/09 05:09

編集2018/10/09 07:48

前提・実現したいこと

現在、python3.6(Spyderを使ってます)を使用してメール送信を送りたいと考えています。
送り元としてYahooメールを使用したいです。

エラー発生と書いたところを実行するとうまくいきません。
何か解決のヒントとなるアドバイスがいただけると助かります。

発生している問題・エラーメッセージ

smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.

該当のソースコード

python3

1import smtplib 2from email.mime.text import MIMEText 3SMTP_SERVER = "smtp.mail.yahoo.co.jp" 4SMTP_PORT = 587 5SMTP_USERNAME = "test@yahoo.co.jp"#送信元アドレス 6SMTP_PASSWORD = "password"#パスワード 7EMAIL_FROM ="test@yahoo.co.jp"#送信元アドレス 8EMAIL_TO = "test@gmail.com"#送信先アドレス 9EMAIL_SUBJECT = "SUB" 10co_msg = "msg" 11msg = MIMEText(co_msg) 12msg['Subject'] = EMAIL_SUBJECT 13msg['From'] = EMAIL_FROM 14msg['To'] = EMAIL_TO 15debuglevel = True 16mail = smtplib.SMTP(SMTP_SERVER, SMTP_PORT) 17mail.set_debuglevel(debuglevel) 18__**mail.starttls()**__#ここでエラー発生 19mail.login(SMTP_USERNAME, SMTP_PASSWORD) 20mail.sendmail(EMAIL_FROM, EMAIL_TO, msg.as_string()) 21mail.quit()

試したこと

今回Yahooメールで送信したら失敗しましたが、Gmailで送信した場合はうまくできました。(Yahoo→Gmailはダメだが、Gmail→Yahooは成功)
それぞれYahooとGmailのセキュリティの設定は問題ないと思います。
(Gmailでうまくいってるので、最悪Gmailも利用します。自分の都合で申し訳ありませんが、できたらYahooが使いたいです。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

basscl

2018/10/09 07:49

ご意見ありがとうございます。修正させていただきました。不慣れで申し訳ありません。
guest

回答1

0

ベストアンサー

STARTTLS extension not supported by server.

「サーバー側でSTARTTLS拡張はサポートされていません」と書かれています。
STARTTLSが使えないので削除してはどうでしょうか。

投稿2018/10/09 06:34

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

basscl

2018/10/09 07:52

mail.starttls()の1文を単純に削除すればよいのでしょうか? 試しにそこを削除して実行したら smtplib.SMTPAuthenticationError: (535, b'authorization failed (#5.7.0)') とでてしまいました。 やり方が違ってるのでしょうか?
mather

2018/10/09 08:05

ehlo を実行していないのも気になりました。
basscl

2018/10/09 08:08

すみません。最初に意見をいただいた、mail.starttls()の1文を削除でうまくいきました。 その後失敗したのは、単純にパスワードが間違っていたからです。 色々不手際がありましたが、無事解決いたしました。ありがとうございます。 他に修正点がございましたら、後ほど追加させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問