読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Jなんとかメールを送信するRubyスクリプト

Ruby

Jなんとかメールを送信するRubyスクリプトです。

使い方

client = JxxxClient.new( "<接続先ホスト>", "<ユーザー名>", "<パスワード>" )
client.send_mail("<送信先>", "<タイトル>", "<本文>")

これで、リリース連絡とか動作確認回覧を自動送信するわけですよ。

依存モジュール

例によってhttpclientを利用しています。以下のコマンドを実行してインストールしてください。

gem install httpclient --source http://dev.ctor.org/download/

実装

  • Webアプリの方に接続して送信します。
  • 送信先ユーザーは","区切りで複数指定できる(はず)
  • 異常系処理は適当です。(認証エラーは試したけど、他は未確認。あんまり試すと怒られそうだし。)
  • カイランとかシンテンとかはもうちょっと調査が必要。
require 'httpclient'
require 'uri'
require 'kconv'

class JxxxClient

  def initialize( host, user, pass, proxy=nil )
    @client = HTTPClient.new( proxy, "Client")
    @client.set_cookie_store("cookie.dat")
    @client.set_auth( "http://" + host + "/", user, pass )
    @host = host
    @user = user
  end

  def send_mail( to, title, content )
    url = "http://#{@host}/~xjswamail/#{@user}/SendMail/Easy/jossend.jsk"
    body =  "TO=" << URI.encode(to.tosjis)
    body += "&CC="
    body += "&SUBJECT=" << URI.encode(title.tosjis)
    body += "&CONTENT=" << URI.encode(content.tosjis)
    body += "&MAILTYPE=NORMAL"
    body += "&COMMAND=Send"
    body += "&HIDDENBCC="
    body += "&MAILID=0"
    body += "&FROMCONT=0"
    body += "&SELECT=&NAMEFLAG=0&BODYLIST=&ENCLOSELIST=&TempType=e&ERRMSG=&HIDDENSIG=&"
    body += "SIGINITNEED=&SENNI_ID=0&SELECTEDSIG="
    result = @client.post( url, body )
    if result.content =~ /\<BODY BGCOLOR\=\"\#ffffff\"\>\<H3\>(.*?)\<\/H3\>/
      raise $1
    end
  end

end

ところで

暗号化とか全然されてないけど大丈夫なのかな。Basic認証だし。拠点間でやりとりするとき、これがそのままインターネットに流れてたりとか・・・しないか。専用線だよね、きっと。