今回は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を使ってメール送信してみる […]