$mail.sendMessage
Метод отправляет email-сообщение через заранее настроенный SMTP-сервер.
подсказка
Чтобы использовать этот метод,
сперва задайте настройки SMTP-сервера через
chatbot.yaml
или метод $mail.config
.Синтаксис
Метод принимает три аргумента:
Аргумент | Тип | Описание |
---|---|---|
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.