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

とあるMetaTraderの備忘秘録 RSSフィード Twitter

忙しいです。ネタもないし・・・

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さんの技術を参考にさせて頂きたいと思いますので、がんばってください!

ではでは。

なおなお 2010/03/29 18:56 初めまして、なお と言います

先日来といいますか、長らくMTでのメール送信に悩んでいました
今度、本格的にMT4を使うことになりまして
いやでも、メール機能を使いたい一心でサイトを閲覧しまくっていまして
あなたのサイトに たどり着きました

おかげ様で、コマンド プロンプトと stone ソフトを用いて
メールの送受信がOKになりました
ありがとうございました

なお(年金受給者)

nene 2010/04/11 09:53 同じような悩みでググったところこちらにたどり着き悩みを解消する事が出来ました。
大変助かりました、ありがとうございます。

ただウチの仕様ですとサービスの立ち上がりの順番のせいだとは思いますがプロパティから自動スタートアップをかけてもPC起動時にサービスが開始されませんでした
そこでbatファイルを作りスタートアップからbat叩きサービスを遅延起動するという形にしたところうまく動いてくれましたのでご報告いたします。

bat内容は
ping -n 60 localhost >NUL
net start repeater

です。-nパラメータ後の数字は適当に入れていただければと思います。60ですと60秒後にサービスを起動するという形になります。
同じ悩みがある方は試してみてください

ヤマサンヤマサン 2010/05/01 22:23 初めまして、ヤマサンです。私もようやくこちらにたどりつきメールが出来るようになりました。ありがとうございました。ところが、新しいPCを購入したところOSがウィンドウズ7になってしまいました。XPでは当ブログを見ながら設定できましたが、ウィンドウズ7ではどうすればよろしいでしょうか?

fai &gt;ヤマサンfai >ヤマサン 2010/05/03 15:10 ウィンドウズ7も大差ないと思うのですが、どこで躓きますか?
右クリックして管理者として実行 すれば解決する問題かしらん・・・^^;

TTTT 2010/05/24 23:23 はじめまして、TTです。
参考にさせていただき最初は送信できるようになったのですが、
パソコン再起動してから送信できなくなりました。

開始を押すと
エラー1053:そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。
とでます。

INSTALL.batを使用すると
Can't install service: repeater err=1073
とでます。

解決方法ありましたら、教えていただけないでしょうか?

晏和晏和 2011/03/25 16:39 このエントリーをもとにようやくメールが送れるようになりました。
本当にありがとうございます。

myumyu 2011/05/15 06:32 はじめまして、faiさん。
初めてコメントしますmyuと申します。

MT4のメール送信サーバにGmailを使いたいので今回の記事を参考にさせていただいております。
faiさんにご用意いただいておりますMT4からGmail に送信するのに使うセットをインストールしたいのですが、私のやり方が悪いのかとも思いますができません。


黒いウィンドウが立ち上がりこのような表示が出てきてしまいます。↓

C:\windows\system32>c:\stone\stone.exe -M install repeater -C C:\stone.conf
指定されたパスが見つかりません。

C:\windows\system32>net start repeater
無効なサービス名です。

NET HELPMSG 2185 と入力すると、より詳しい説明が得られます。


C:\windows\system32>pause
続行するには何かキーを押してください...


そして何かキーを押しますと黒いウィンドウが消えてしまいます。
無知なものですみません。。。
どのようにしましたらインストールできるのでしょうか?
教えていただけませんでしょうか。
よろしくお願いいたします。

アデオスアデオス 2011/06/01 08:28 >myuさん

もしかして、デスクトップ上に置いてからクリックしてないでしょうか?
Cドライブに、フォルダごと移動してからクリックすれば解決すると思います。

maozonmaozon 2011/06/19 05:40 すごく参考になりました。
たった今成功して最初にミスった19件が一気に携帯に藁
ありがとうございます。

ゆとゆと 2011/08/11 12:47 はじめまして!
とても助かりました!
メール送信機能、今まであきらめていたものですから…。
今回、fai様のお陰で、送信成功!
着信音に大喜び♪してしまいました。
どうも有難うございました!

DoramiDorami 2011/09/09 16:06 ドラミと申します。
MT4の送信メールサーバにGmailを使いたいのでこちらの記事を拝見して、利用させていただいております。
それで、テストメールを送信したら、下のようなメッセージがでてメールが受信できない状況です。

2011.09.09 15:49:50 Mail: 555 5.5.2 Syntax error. a11sm7524769ibg.3

使用しているPCの環境は、ワークグループを設定してPC数台をネットワークを組んでおります。
どのようにしたら、よいのか全くわからず、困っております。
教えていただきますでしょうか?よろしくお願いします。

fai&gt;Doramifai>Dorami 2011/09/13 00:07 まずは、エラーメッセージの 555 5.5.2 Syntax error. で Google検索して何か分かる事はありますか?^^;

fxaki7fxaki7 2011/09/15 00:52 faiさん、密かに(^_^;)いつもお世話になっております。Gmailで使えないのかよと、途方に暮れていた時にたどり着きました。
本当に、助かりました。一時期は、諦めていたので。
いつも、とっても参考にさせて頂いてます。
お礼をお伝えしたく書き込みました。
今後も、更新楽しみにしておりますのでよろしくお願い致します。

Dorami Dorami 2011/09/16 10:47 おはようございます。faiさん、お返事をありがとうございます。

>まずは、エラーメッセージの 555 5.5.2 Syntax error. で Google検索して何か分かる事はありますか?^^;
とお返事がありましたので、Google検索をしてそれらしきものを探していくうちに訳がわからなくなり、
もう一度、「MT4のメール送信サーバにGmail を使う。」をじっくり、読み直しましたところ、設定に誤りがあるのに気づいたので設定を変更しましたら、メール送信ができるようになりました。

本当に助かりました。ありがとうございました。

unun 2011/10/13 23:30 fai様

初めまして。
MT4からのメール設定にかなり苦戦しております。
yahooではテストメールも通常設定でできたのですが、MT4でシグナルが出ているのにも
かかわらずメールが来なかったりしたのでgoogleに設定を変更しようとしたのですが
どうも届きません。
MT4の操作履歴を見るとlogin to smtp.gmail.com:465/ssl 127.0.0.1:465 failed
とエラーメッセージが出てしまいます。
何が原因だか分かるでしょうか。

mtzmtz 2011/10/19 07:11 超感謝!!

yhyh 2011/11/02 23:37 fai様

こんばんわ。
MT4のメール設定をこちらでできるようになったものです。
その節はありがとうございました。
うまくいっていたメール配信が突然途絶えてしまってまた何でこなくなったの?
って不思議に思い聞いてみたいのですがどうかアドバイスお願いします。
.同じ設定でテストメールをしても来なくなっている。
.再起動を最近した。
.操作履歴を見ると Mail: error connecting to 127.0.0.1:465と出ている
.来なくなったときから操作履歴のログイン時にold version of serverと出ている
どれかが原因と思いますがわかりますでしょうか。
宜しくお願いします。

658658 2011/11/03 14:05 私も昨日からyhさんと同様にメールが来なくなってしまいました。gmailの設定に何か変更があったのかなぁ?

fai&gt;yh,658fai>yh,658 2011/11/04 22:00 他社メールソフト Becky!(SSL無し、SMTP AUTH PLAIN有り) + stone/ssl でgmail への送信は成功したので、gmail の問題では無いと思います。
古いMT4 でも同様に送信できました。


…で、いろいろ調べると、config/server.ini を削除して作り直す(MT4再起動する)と送信可能になります。。
どうも、最新のMT4付属?のserver.ini は127.0.0.1 への送信を禁止しているのかもしれません。。

server.iniを消すとログイン情報も消えるので、別フォルダにコピーして試すなど、自己責任でどうぞ。

658658 2011/11/05 11:35 fai様
ありがとうございます。無事解決いたしました。

yhyh 2011/11/06 02:06 server.ini が文字化けしてます。
削除方法がわかりません。
すみませんが、教えてくださいませんか。

hachac 2011/11/08 19:38 初めてメールします。
皆さんと同じように11月のアップデート以来メール送信出来なくなってしまいました。
yhさんと同じく文字化けして正しく表示されません。
すみませんが解決策をご教授ください。

ポンドカンポンドカン 2011/11/26 07:46 お久しぶりです(^-^)/
server.ini 削除したら解決しました!ありがとうございます。さすがfaiさんですヾ(@⌒ー⌒@)ノ

777777 2012/03/22 00:13 はじめまして。
最近、またGmailが送信できなくなりました。
皆さんいかがでしょうか?
server.iniを再度行ってみましたが、結果変わらずです。。

778778 2012/08/27 01:53 777さんと同じです。
よろしくお願いします。

emememem 2012/09/07 15:46 初めまして
Gmail送信が出来なくなってしまいました。
server.iniは消去せず名前をsserver.iniに変更しています。
また戻すのが大変と思ったので。
今度はどうすれば解決するのでしょうか?
よろしくお願いします。

779779 2012/09/18 21:58 gmailのほうは、もう送る事はできなくなってしまったようです
yahoo!メールのほうなら送れるみたいです
smtpの設定はsmtp.mail.yahoo.co.jp:587です

投稿したコメントは管理者が承認するまで公開されません。

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


画像認証