Перейти к основному содержимому

$mail.sendMessage

Метод отправляет email-сообщение через заранее настроенный SMTP-сервер.

Настройки сервера

Чтобы использовать этот метод, сперва задайте настройки SMTP-сервера через chatbot.yaml или метод $mail.config.

Метод $mail.sendMessage использует настройки из той среды, в которой он вызван:

  • В теге script используются настройки из ECMAScript 5.
  • В теге scriptEs6 используются настройки из ECMAScript 6.

Синтаксис

Метод принимает три аргумента:

АргументТипОписание
addressСтрока или массив строкПолучатель или список получателей email-сообщения.
subjectСтрокаТема сообщения.
bodyСтрокаСодержание сообщения. В нем можно использовать HTML-разметку.
$mail.sendMessage(
"user@example.com",
"Новое предложение только для вас!",
"Только 25 марта на все наши тарифы скидка 20%!"
);

Метод возвращает объект с полем status. Возможные статусы отправки сообщений:

  • OK — сообщение успешно отправлено.
  • UNABLE_TO_CONNECT — не удалось подключиться к SMTP-серверу.
  • INCORRECT_ADDRESS — в адресе отправителя или получателя передана пустая строка.

Использование в сценарии

init:
$mail.config(
"smtp.just-ai.com",
2525,
"user@just-ai.com",
$secrets.get("smtpPassword"),
"bot@just-ai.com"
);

theme: /

state: AttachDocument
InputFile:
prompt = Загрузите в чат заполненное согласие на обработку персональных данных.
varName = fileUrl
then = /SendDocument

state: SendDocument
script:
$temp.mailResult = $mail.sendMessage(
"user@example.com",
"Согласие на обработку персональных данных",
"Здравствуйте! Заполненное согласие во вложении, а также доступно по <a href=\"" + $session.fileUrl + "\">ссылке</a>."
);
if: $temp.mailResult.status === "OK"
a: Согласие успешно отправлено менеджеру.
else:
a: Извините, у меня не получилось отправить email.