Python3 プログラム中から日本語OKなメールを送信するショートプログラム  xrea smtp

Pythonメモ

Python3+SeleniumでFXの自動売買を行っているのだが、プログラム中から通知メールを飛ばす機能を追加しようと思う。

Gmailは無料で使えるので便利なのだが、送受信メール数に制限があったり、安易なメールの送信はセキュリティ設定ではじかれたりするので気を付けないといけない。
(セキュリティ設定は変更可能)

特に送信数制限は今回の用途的に辛いので、xreaというレンタルサーバーのsmtpを使ってテストします。

<smtpサーバー情報>
smtp接続ID:marumusi@infomixer.net
smtp接続パスワード:passpass
サーバーアドレス:s03.xrea.com
smtpポート:587

<メール情報>
キャラクターセット:iso-2022-jp
送信元:smtp接続IDと同じ (xreaのサーバーでは同一の必要性があるため代入)
送信先:webmaster@infomixer.net

上記はあくまで例なので、自分用に置き換えてね。

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# SMTPサーバー情報
smtp_id = 'marumusi@infomixer.net'
smtp_ps = 'passpass'
smtp_ad = 's3.xrea.com'
smtp_po = 587

# メール情報
ml_jp = 'iso-2022-jp'
ml_from = smtp_id
ml_to = 'webmaster@infomixer.net'
ml_title = "Python3でメール送信のテストやってます"
ml_text = \
'abcdefg\r\n' \
'0123456789\r\n' \
'ひらがら、カタカナ、漢字\r\n' \
'\r\n' \
'まるむしアンテナ\r\n' \
'https://antenna.infomixer.net\r\n'

# メッセージ編集
message = MIMEText(ml_text.encode(ml_jp),'plain',ml_jp,)
message['Subject'] = str(Header(ml_title,ml_jp))
message['From'] = ml_from
message['To'] = ml_to

# メール送信
srv = smtplib.SMTP(smtp_ad,smtp_po)
srv.ehlo()
srv.starttls()
srv.ehlo()
srv.login(smtp_id,smtp_ps)
srv.sendmail( ml_from, [ml_to], message.as_string(),)
srv.close()

こんな感じで^^

<補足>
その後発覚した訂正箇所はここではなく、下記の記事に追記してますのでそちらから読み取ってください。

Python3 プログラム中から画像を添付したメールを送信するショートプログラム  xrea smtp
Python3+SeleniumでFXの自動売買を行っていて、通知メールをプログラム中から飛ばすという機能を追加した。 いざ実装してみると、通知時...

 

コメント

  1. まるむし より:

    コード記述順を若干修正しました。(次ネタのコードと比較しやすいように)

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