ヤフーメールのSTMP
ヤフーメールのSTMPの設定はメールの設定→IMAP/POP/SMTPアクセスとメール転送で確認できます。「STMPを有効にする」というところにチャックが付いているかを確認してください。STMPのポート番号は↓画像の設定情報の部分をクリックすると確認できます。SSLを使う時は465、使わない場合は567です。
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)を使って特定の処理がちゃんと終われば「上手くいきました~」的なメールを送って、エラーが出た場合は「エラーが発生しました~」的なメールをおくるなんて使い方ができます。
コメント