PythonからYahooのSMTP(SSL)接続+ Proxy経由をメール送信する方法(SMTP_SSL、setdefaultproxy)

折角実装したのに、Yahooにメールが届かなくなった。

PythonでProxyサーバ経由で購入銘柄情報をメール送信する(システムトレード)
今までのあらすじ。誰かが言った。人生の悲劇は2つしかない。ひとつは、金のない悲劇もうひとつは、金のある悲劇「ユダヤ人大富豪の教え」の著書・本田健氏は言った。お金持ちになるには5つの...

パソコン側の問題?

アップデートでも走った?

 
 

うーん、どこまで通信ができているのだろう?

どうやらYahooのSTMPサーバから応答がないらしい。

なぜ?

 
 

原因は

 
 

2021年1月19日からSSL通信のみ受け付ける

 
 

Yahoo!メールではセキュリティ強化の取り組みとして、Yahoo!メールをより安全にご利用いただくためにこのたび、誠に勝手ながら2021年1月19日をもちまして、メールソフトでYahoo!メールを送受信する際の認証方式「POP(非暗号化ポート: ポート番号 110)」「SMTP(非暗号化ポート: ポート番号 25 , 587)」の提供を終了させていただくことになりました。

は〜ぁ?

こっちは、ようやく実装完了して稼働させたばかりなのに、もう実装変更だよ・・・。

稼働日は2週間じゃねーか!

これに気づくだけでも超時間がかかったわ!

そもそも停止日は2021年1月19日じゃなく、2021年2月2日からだったから!

ひとつ積んでは父のため。

ふたつ積んでは母のため。

みっつ積んではふるさとの、兄弟我が身と回向えこうする。

 

日も入りあいのその頃は、地獄の鬼が現れて、我を恨むる事なかれと、くろがねの棒を伸べ、積みたる塔を押し崩す。

 

ガシャーン

あぁ・・・・またやり直し・・・。


 

これはこの世のことならず、死出の山路の裾野なる、賽の河原の物語

・・・現実にも何度も起きてるよ。

 

日記の更新頻度が上がって良いなぁ、糞。

株の自動売買進んでねーよ。

まだ公開してない日記が220件超えたよ。

ネット上に情報が見つからない

「STMP Proxy SSL python」とかでググっても全くヒットしない。

前回の実装を参考に修正してみてもうまくいかない・・・・。

もう、諦めて違う方法で対応しようかと何度も思った。

 
 

で、改めて前回の日記を開いて下記のサイトの内容を読み直した。

https://jpcloud.net/q/fiveguvr

ダメ元で最初の返答内容で実装して、メールが送信できるか確認してみる。

pythonは標準ではsocksをサポートしてないようなので、SocksiPyというのを使う。

あれっ・・・できた!

簡単だね、setproxyが挟まるだけ。

だったら、前回のようにClassを定義した長い実装コードも不要じゃん。

まとめ

答えが分かってしまえば簡単だ。

でも、それが分かるまで息苦しさに悶ながら延々と調査をすることになる。

で、内容としては短いがググっても出てこないので、知りたい人には有効な情報だと思って公開した。

ソースコード

前述のとおり、システムトレードの検証データを送信するスクリプトなので、必要に応じて余計な処理は削除が必要。

タイトルとURLをコピーしました