发送电子邮件通知

终端允许你将电子邮件发送到设置对话框中“邮件”选项卡上指定的电子邮件地址。为此,MQL5 提供了 SendMail 函数。

bool SendMail(const string subject, const string text)

该函数参数设置标题和文本(邮件正文)。

如果邮件已在邮件服务器上排队等待发送,则函数返回 true;否则返回 false。如果在设置中禁用了邮件功能,或者邮件数据(SMTP 服务器、端口、登录名、密码)包含错误或未指定,则可能发生错误。

SendMail 函数不在策略测试程序中执行。

MQL5 不支持检查传入邮件和阅读邮件(即 POP、IMAP 协议)。

本书包含 NetMail.mq5 脚本,该脚本会尝试发送一封测试邮件。

void OnStart()
{
   const string message = "Hello from "
      + AccountInfoString(ACCOUNT_SERVER)
      + " " + (string)AccountInfoInteger(ACCOUNT_LOGIN);
   Print("Sending email: " + message);
   PRTF(SendMail(MQLInfoString(MQL_PROGRAM_NAME),
      message)); // MAIL_SEND_FAILED(4510) or 0 (success)
}