Python プログラミング

【Python】YahooメールをSTMP経由で自動送信する

この記事は約3分で読めます。

 

今回はPythonを使ってヤフーメールをプログラム上から自動送信してみたいと思います。

 

ヤフーメールのSTMP設定変更

 

ヤフーメールでプログラム上からメールを送信するためには、SMTP設定を変更する必要があります。ヤフーメールでのSMTPの設定変更はメール一覧右上の設定ボタンを押し、IMAP/POP/SMTPアクセスのページを表示します。ここで「SMTPを有効にする」というところにチェックが付いているかを確認してください。

 

 

Pythonでyahooメールからメールを送信する

 

PythonでSTMPを使用する場合はstmplibを使用します。送信するテキストデータの処理にemail.mime.texを使っています。

 

 

#ライブラリのインポート
import smtplib
from email.mime.text import MIMEText


#ヤフーメールからメールを送信する関数
def send_mail(co_msg):
    SMTP_SERVER = "smtp.mail.yahoo.co.jp"
    SMTP_PORT = 587
    SMTP_USERNAME = "〇〇〇〇@yahoo.co.jp"#自分のユーザーネームor登録アドレス
    SMTP_PASSWORD = "自分のパスワード"#自分のパスワード
    EMAIL_FROM ="〇〇〇〇@yahoo.co.jp"#自分も送信元メールアドレス
    EMAIL_TO = "××××@gmail.com"#送信先メールアドレス
    EMAIL_SUBJECT = "メールタイトル"
    msg = MIMEText(co_msg)
    msg['Subject'] = EMAIL_SUBJECT
    msg['From'] = EMAIL_FROM
    msg['To'] = EMAIL_TO
    mail=smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    mail.login(SMTP_USERNAME, SMTP_PASSWORD)
    mail.sendmail(EMAIL_FROM, EMAIL_TO, msg.as_string())
    mail.quit()
return


#関数の実行
text='メール本文です'
send_mail(co_msg=text)

 

関数の引数のco_msgに送りたいテキスト内容をstr型(文字型)にして指定します。送る内容によっては、ヤフー側からスパム扱いされて送信できないことがあるので、工夫にしてください。

 

メール送信処理機能の使い方

 

自分の作ったプログラムの運用状況を知りたいときなんかには、例外処理(try・except)を使って特定の処理がちゃんと終われば「上手くいきました~」的なメールを送って、エラーが出た場合は「エラーが発生しました~」的なメールをおくるなんて使い方ができます。

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]

  2. […] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]

  3. […] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]

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