ブログトップ 記事一覧 ログイン 無料ブログ開設

とあるMetaTraderの備忘秘録 このページをアンテナに追加 RSSフィード

ネタ募集中。年齢性別不問。やる気を重視します。

2009-11-10

MT4のメール送信サーバにGmail を使う。

MetaTrader4 にはメール送信機能があり、シグナルなどをメールで送ることが出来ます。

メールサーバ(SMTPサーバ)の設定は、下図のダイアログで行いますが、Gmail ( smtp.gmail.com:465 ) を送信先にしようとすると上手くいきません。

f:id:fai_fx:20091109111426p:image

Testボタンを押しても何も起きないか、以下のようなエラーが記録されるだけです。

23:13:50 Mail: login to smtp.gmail.com:465 failed

23:15:39 Mail: 530 5.7.0 Must issue a STARTTLS command first. 23sm1440141pzk.4

23:15:39 Mail: 'Test message' failed

これは、GmailのSMTP通信はSSLによる暗号化が必要なのに、MT4 が対応していない為に生じる問題です。今日は、そんな場合の対応策を説明します。





対策と言っても、実は簡単な話で、MT4 が SSLに対応していないのなら、代わりに SSLの暗号化を行うアプリ ( stone ) を途中に入れてしまえば通信できるはずです。

概念図はこんな感じ。

×通信できないMT4 -(非暗号化通信)-> Gmail SMTPServer
○通信できるMT4 -(非暗号化通信)-> stone -(SSL暗号化通信)-> Gmail SMTPServer

以下、stone の設定と使い方です。

GmailのSMTPサーバと通信する為の設定ファイル ( stone.conf ) は以下のように書きます。

smtp.gmail.com:465/ssl 127.0.0.1:465

これは、ローカルPC(127.0.0.1)の465ポートと、smtp.gmail.comの465ポートをSSLで暗号化して繋ぐという設定です。

ローカル側のポートは任意の値に変更することも出来ます。



設定ファイルを利用したWindowsサービスとしてstoneを実行するには以下のようなバッチファイル ( INSTALL.bat ) で登録/実行できます。

c:\stone\stone.exe -M install repeater -C C:\stone\stone.conf

net start repeater

pause

これら2つのファイルを同梱したstone をこちらに置きました。

解凍後のファイル一式を、C:\stone フォルダ内に置いて、INSTALL.bat を右クリックして、管理者として実行(Vistaの場合) すると、

f:id:fai_fx:20091109111451p:image

のようになります。

この状態で、MT4上で smtp.gmail.com:465 の代わりに 127.0.0.1:465 を指定すると、stone 経由で Gmail に繋がります。



このままでは、Windows を再起動すると、stone のサービスが止まってしまうので、マイコンピュータを右クリックして「管理」からサービスの設定を変更します。

f:id:fai_fx:20091109111510p:image

サービスの中から、Stone repeater を選び、右クリックしてプロパティ画面から「スタートアップの種類」を「自動」にします。



今までGmail を使えなくて困っていた人は参考にしてみてください。



以下余談ですが…

ネット上には、Gmail が普通に使えているよっという報告もあります。でも、私のアカウントでは何をどう変えてみてもNGっぽかったです。

それから、STARTTLS がどう とかエラーメッセージを受取っていますが、特にSTARTTLS を使わなくても、ただのSSL(SMTPS) で送信できています。

afaf 2009/11/10 01:08 はじめまして、faiさん。
初めてコメントしますafと申します。

faiさんの技術すごいですね。
いつも参考にさせて頂いております。

さて、ちょっと相談なのですが、MT4が固まってしまうことが稀にあるのですが、
それを検知するようなことってできますでしょうか?

固まり方にもよってしまうかもしれませんが、何か良い案がありましたら
ご教示頂けないでしょうか。

よろしくおねがいします。<(_ _)>

LL 2009/11/10 07:14 すごすぎるwww
これはありがたい><
さすがfaiさんです。

少し脳を交換したいw

yujiyuji 2009/11/10 11:39 初めまして。yujiと申します。いつも素晴らしい記事を書かれて、とても重宝させてもらっています。
ありがとうございます。厚かましい質問で恐縮ですが、MT4のローソク足の間隔を0にする事は出来るのでしょうか?ローソク足の間隔がない方が、値動きを捉えやすく感じるので、そのような設定が可能であればご教示頂けると非常に助かります。お忙しいところ、誠に申し訳ありませんがよろしくお願いします。

fai_fxfai_fx 2009/11/11 00:17 af さん、こんばんは。
固まってしまう状態とは具体的にどんな状態でしょうか?
何が原因で固まるのか分かって、私の環境で再現できれば、それを検出することを考えることは出来ると思いますが...。それ以前に固まらない方法を模索した方が良いと思います^^;
計算量の多いインジケータが原因で一時的固まるのならチャート表示の本数を減らすと効果ありますが....。

Lさん、こんばんは。
まだ電脳化してないので交換できません><

yujiさん、こんばんは。
一応、今日の日記に書きました...(逃

afaf 2009/11/11 01:11 こんばんは、faiさん。
お返事ありがとうございます。

確かに固まらない方法を模索する方が良いですね。
固まることも本当に稀の稀なので、様子を見たいと思います。

変な質問してすいませんでした。<(_ _)>
今後ともfaiさんの技術を参考にさせて頂きたいと思いますので、がんばってください!

ではでは。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fai_fx/20091110/1257779182