2017-12-19 10 views
0

python smtplibモジュールを使用してメールを送信しようとしていますが、エラーが発生しました。SMTPException:サーバーでサポートされていないSTARTTLS拡張

import smtplib 
s = smtplib.SMTP('smtp.gmail.com', 587) 
s.ehlo() 
s.starttls() 
s.login("[email protected]", "yyyyyyy") 
message = "Message_you_need_to_send" 
s.sendmail("[email protected]", "[email protected]", message) 
s.quit() 

私が得たエラー以下のように:

トレースバック(最新の呼び出しの最後):ファイル "/home/engineer/demo.py"、 ライン52、 s.starttlsで()ファイル "/usr/lib/python2.7/smtplib.py"、行637、starttls SMTPExceptionを送出する( "STARTTLS拡張機能はサーバーによってサポートされていません")SMTPException:STARTTLS拡張機能はサーバーでサポートされていません。

答えて

0

私は別のリンクから解決策を参照します。 s.starttls()の前にs.ehlo()を削除してみてください。

自分のコードを自分のgmailアカウントでテストしたところ、コードはs.echlo()で動作するはずです。あなたは

Let less secure apps use your account、Gmailのセキュリティは安全性の低いアプリのを有効にするなどの設定をチェックするようなことがありまたs.set_debuglevel(1)

import smtplib

s = smtplib.SMTP('smtp.gmail.com', 587)

s.set_debuglevel(1)

s.ehlo()

を使用してデバッグを有効にします

s.starttls()

+0

ログイン1/2: 送信: 'EHLO [127.0.1.1] \ rを\ n' の 返信: '250-smtp.gmail.comあなたのサービスで、[115.118.5.146] \ rを\ n' は 返信: '250-SIZE 35882577 \ r \ n' 返信: '250-8BITMIME \ r \ n' 返信: '250-ENHANCEDSTATUSCODES \ r \ n' 返信: '250-PIPELINING \ r \ n' 返信: '250 SMTPUTF8 \ r \ n' 返信:retcode(250);メッセージ:smtp.gmail.comあなたのサービスで、[115.118.5.146] SIZE 35882577 8BITMIME ENHANCEDSTATUSCODES PIPELINING SMTPUTF8 – venkat

+0

ログイン2/2: トレースバック(最新の呼び出しの最後): ファイル「/ホーム/エンジニア/ mail.py "、行8、 s.starttls() ファイル" /usr/lib/python2.7/smtplib.py "、行637、starttls raise SMTPException(" STARTTLS拡張はサーバーによってサポートされていません。 ") SMTPException:STARTTLS拡張機能がサーバーでサポートされていません。 – venkat

+0

あなたのGmailの設定で**安全性の低いアプリを許可する**のステータスはどうですか? –

0

コードに関する限り変更はなく、最終的に見つかった。問題は、十分なファイアウォールのアクセス許可に関連付けられていた。

関連する問題