今回は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)を使って特定の処理がちゃんと終われば「上手くいきました~」的なメールを送って、エラーが出た場合は「エラーが発生しました~」的なメールをおくるなんて使い方ができます。
コメント
[…] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]
[…] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]
[…] 関連記事:【Python】YahooメールのSTMPを使ってメール送信してみる […]