Отправка уведомлений по электронной почте

Терминал позволяет посылать письма на адрес электронной почты, указанный в диалоге настроек на закладке Почта. В MQL5 для этого предусмотрена функция SendMail.

bool SendMail(const string subject, const string text)

В параметрах функции задается заголовок и текст (тело письма).

Функция возвращает true, если письмо поставлено в очередь на отправку на почтовом сервере, иначе — false. Ошибки возможны, если работа с почтой запрещена в настройках, или почтовые данные (SMTP-сервер, порт, логин, пароль) содержат ошибку или не указаны.

В тестере стратегий функция SendMail не выполняется.

Проверку входящей электронной почты и её чтение (т.е. протоколы POP, IMAP) MQL5 не поддерживает.

Вместе с книгой вы найдете пример скрипта 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 (успех)
}