MT5でメール通知が届かない時は、アラート側だけでなく、プラットフォーム側のEmailタブ、SMTP情報、From/To、Test送信、メールサービス側の条件を分けて見る必要があります。
この記事では、MT5のメール通知を「Alertsタブから送る場合」と「MQL5プログラムからSendMail()で送る場合」に分けて、どこを見るかを整理します。
先に短く言うと
MT5のメール通知は、チャートやインジケーターだけで完結する機能ではありません。MT5本体のEmail設定、メールサービス側のSMTP条件、アラート側のAction、メール本文の設定が組み合わさって動きます。
届かない時は、まずMT5のEmailタブでTest送信できるかを見ます。その後、AlertsタブのActionがEmailになっているか、EAやインジ側でSendMail()を使っているかを分けて見ます。
Emailタブ → Test送信 → AlertsタブのAction → アラート条件 → SendMail()の有無 → メールサービス側の制限、という順番で見ます。先にアラートだけを作り直すと、原因が遠回りになります。
MT5のメール通知で分けたい2つの経路
MT5のメール通知には、大きく分けて2つの入口があります。標準アラートから送る場合と、EA・インジケーター・スクリプトなどのMQL5プログラムから送る場合です。
| 経路 | どこから送るか | 見る場所 |
|---|---|---|
| アラートから送るメール | ToolboxのAlertsタブでActionにEmailを選ぶ | Alertsタブ、メール作成画面、Emailタブ |
| MQL5プログラムから送るメール | EA、インジケーター、スクリプトなどでSendMail()を呼ぶ | コード、Expertsログ、Journalログ、Emailタブ |
どちらの経路でも、MT5のEmailタブ設定を使います。アラートを何度作り直しても、Emailタブ側が合っていなければ届きません。
Emailタブで見る項目
MT5のEmailタブでは、メール送信に必要なSMTP情報と送信元・宛先を設定します。メールサービスごとに必要なサーバー名、ポート番号、認証方法が異なるため、利用しているメールサービスの公式情報も合わせて見ます。
| 項目 | 見ること | つまずきやすい点 |
|---|---|---|
| Enable | メール通知設定が有効かを見る | SMTP情報が入っていても、有効化されていなければ送信されません。 |
| SMTP server | サーバー名とポート番号を見る | サーバー名だけでなく、ポート番号や暗号化方式が関係する場合があります。 |
| SMTP login | ログイン名を確認する | メールアドレス全体が必要な場合と、ユーザー名だけの場合があります。 |
| SMTP password | パスワードやアプリ用パスワードを見る | 二段階認証を使っている場合、通常パスワードでは送れないことがあります。 |
| From | 送信元メールアドレスを見る | FromとSMTPログインの組み合わせが合わないと止まる場合があります。 |
| To | 宛先メールアドレスを見る | 誤入力、複数指定、迷惑メール側の扱いを見ます。 |
| Test | 設定だけで送信できるかを見る | ここで失敗する場合、アラートやEA側へ進む前にEmailタブを見直します。 |
アラート側でEmailを選んでいるかを見る
ToolboxのAlertsタブで作るアラートには、ActionとしてSound、File、Email、Notificationなどがあります。メール通知にしたい場合は、ActionがEmailになっているかを見ます。
Soundのままなら音だけ、Notificationならスマホへのプッシュ通知側を使います。メールが届かない時は、まずActionの取り違えを見てください。
- ActionがEmailになっているか
- 条件がBid、Ask、Last、Volume、Timeなど意図した内容か
- アラートが無効化されていないか
- 有効期限が切れていないか
- 繰り返し間隔や最大回数が意図した内容か
- Testボタンで動作を見たか
SendMail()を使うEAやインジの場合
EAやインジケーター側でメールを送る場合、MQL5のSendMail()が使われることがあります。SendMail()は、MT5のEmailタブで指定された設定を使ってメールを送る関数です。
そのため、コード側にSendMail()があっても、EmailタブのEnable、SMTP server、login、password、From、Toが合っていなければ、メール送信は成立しません。
MQL5リファレンスでは、SendMail()はストラテジーテスター内では動作しないと説明されています。テスター上で届かない場合は、通常チャート上での動作と分けて見ます。
届かない時の切り分け順
- EmailタブでEnableが有効かを見る
- SMTP server、login、password、From、Toを見直す
- EmailタブのTestで送信できるかを見る
- AlertsタブでActionがEmailになっているかを見る
- アラート条件、有効期限、繰り返し設定を見る
- EAやインジの場合、SendMail()の有無とログを見る
- メールソフト側の迷惑メール、受信制限、セキュリティ通知を見る
ラボメモ
MT5のメール通知は、アラート設定だけでなく、SMTP認証、送信元、宛先、メールサービス側の制限が重なって動きます。
届かない時は、最初にTest送信でプラットフォーム側の設定を見てから、アラートやEA側の条件へ進むと原因を分けやすくなります。
メールサービス側で見ること
MT5側の項目が合っているように見えても、メールサービス側の条件で止まることがあります。二段階認証、アプリ用パスワード、外部アプリからのSMTP送信許可、セキュリティ通知などです。
この部分はメールサービスごとに変わります。具体的なサーバー名、ポート番号、認証方法、パスワードの扱いは、利用しているメールサービスの最新ヘルプで見てください。
MT5メール通知とプッシュ通知の違い
メール通知とプッシュ通知は、どちらもアラートの通知先として使えますが、設定場所が異なります。
| 種類 | 使う設定 | 主に見る項目 |
|---|---|---|
| メール通知 | Emailタブ | SMTP server、login、password、From、To、Test |
| プッシュ通知 | Notificationsタブ | MetaQuotes ID、有効化、Test送信 |
メールが届かないからといって、すぐにプッシュ通知側を触ると原因がずれることがあります。ActionがEmailなのかNotificationなのかを先に見てください。
用語を先に押さえる
メール通知の設定で詰まりやすい場合は、用語の意味を先に押さえておくと読みやすくなります。
関連して読みたい記事
まとめ
MT5のメール通知が届かない時は、アラート画面だけで判断せず、EmailタブのEnable、SMTP server、login、password、From、To、Test送信を先に見ます。
そのうえで、AlertsタブのActionがEmailになっているか、アラート条件や有効期限が合っているかを見ます。EAやインジから送る場合は、SendMail()とログも分けて見てください。
メールサービス側の仕様は変わることがあるため、SMTPサーバーや認証方法は、利用しているメールサービスの公式情報で最新条件を確認してください。