【Python】YahooメールのSTMPを使ってメール送信してみる

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

 

 

ヤフーメールの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)を使って特定の処理がちゃんと終われば「上手くいきました~」的なメールを送って、エラーが出た場合は「エラーが発生しました~」的なメールをおくるなんて使い方ができます。

 

 

 

コメント

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