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の自動売買を行っていて、通知メールをプログラム中から飛ばすという機能を追加した。 いざ実装してみると、通知時...
コメント
コード記述順を若干修正しました。(次ネタのコードと比較しやすいように)