皆様こんにちは。Catherineです。
SendMail機能を使ってお使いのメールサーバーからポジション取りの状況をケータイに送ったり、自作EAなどでサーバーエラーが起こったときに#include <stdlib.mqh>を追加し、ErrorDescription()関数を使ってサーバーの環境をメール監視する、といったことをされている方も多いと思いますが、最近のプロバイダーはセキュリティ上の問題からSMTPのTCPが25でなかったりPopBeforeSMTPやOutbound Port 25 Blocking(OP25B)とかで制限があって、自分の家のPCならともかく、特にVPSをお使いの方は自分のプロバイダのSMTPサーバーを使ってもVPSサーバー自体のポート制限からうまく送れないことが多いと思います。
特に独自ドメインで取得したメールアドレスが受信のみ対応だった場合、送信はプロバイダのSMTPサーバーを使ってくれということもが多いのでお手上げです。
以前はフリーのSMTPサーバーソフト「Melon」を使うなどすればなんとか送れていたようですね。
プログラマーなFX~完全自動売買への道~
http://victor.cocolog-nifty.com/blog/20 ... _3ae3.htmlしかしながら、現在はこの手法では送信できないようです(詳しくは調べていませんが簡単には無理)。
まあ、サーバー管理をされている方であれば以下のことはなんてことはないのですが、MT4関連のブログを見てもあまり皆さんWindowsのSMTPサーバーを設定することで解決することをあまりご存知ないようでしたのでちょっとご紹介させていただきます。
まず、Home Editionを除くWindows XPや2003Serverには標準でSMTPサーバーが付属していますのでそれを使います。(Windows2000でもOK)
コントロールパネルの「プログラムの追加と削除」から「Windowsコンポーネントの追加と削除」を選び、「インターネット インフォメーション サービス(IIS)」の詳細で「SMTP Service」にチェックを付け、そのままOKで抜けてインストールします。VPSでは既に入っている事と思います。
スタートからファイル名を指定して実行を選んで、「%SystemRoot%\system32\inetsrv\iis.msc」と入力して実行します。インターネット インフォメーションサービスの設定画面が表示されますので「既定の SMTP 仮想サーバー」の赤い×印を右クリックから開始を選んで使えるようにします。
「既定の SMTP 仮想サーバー」を右クリックしてそのプロパティから設定を変更しますが、初期状態のSMTPのサービス設定は、匿名アクセス可能、接続は全てのコンピュータですからLANの中からアクセスしている人は別にIPアドレスを指定してアクセス制限する必要があるかもしれません。まあ、MT4専用PCは自分しか使っていないでしょうからここでは割愛します。
アクセスタブの接続ボタンを押し、「以下のリストに含まれるコンピュータ以外のすべて」にチェックをつけて閉じます。(重要)
画面右のツリー表示のドメインをクリックすると、ドメイン名にはお使いのPCに付けた名前が表示されているはずです。この名前をMT4に入れますので覚えておいてください。
SMTPサービスの設定が終わったら、MT4側の設定をします。
「ツール」→「オプション」→E-メールタブのところで、SMTPサーバーに先程覚えたPCの名前を入れます。「SMTPログインID」、「SMTPパスワード」は空白でOKです。
あとは発信元を適当なアドレスを入れます。何でもいいです。ケータイで各ブローカーを音別に鳴らしたいならば[fxdd@mt4myserver.com][fxcm@mt4myserver.com]とか適当につけてOKです。本当にありそうなサーバー名はやめておきましょう(笑)。
あとはテストしてケータイに配信されるのを確認すればOKです。ケータイのPCアドレスからのアクセス制限をしている人は外しておいてください。
以上です。サーバー再起動したときにメールが送られてこないときはSMTPサーバーに赤い×がついていないか確認してくだいね。