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

$mail.send

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

подсказка
Если ваш сценарий предусматривает неоднократную отправку email, вы можете использовать более простой метод $mail.sendMessage.

Синтаксис

Метод принимает в качестве аргумента объект со следующими полями:

ПолеТипОбязательноеОписание
smtpHostСтрокаДаХост SMTP-сервера.
smtpPortЧислоНетПорт SMTP-сервера. По умолчанию 25.
userСтрокаДаПользователь SMTP-сервера.
passwordСтрокаДаПароль от SMTP-сервера.
fromСтрокаДаОтправитель email-сообщения.
hiddenCopyСтрока или массив строкНетПолучатель или список получателей скрытой копии email-сообщения.
toСтрока или массив строкДаПолучатель или список получателей email-сообщения.
subjectСтрокаНетТема сообщения.
contentСтрокаДаСодержание сообщения. В нем можно использовать HTML-разметку.
sslEnabledЛогическийНетИспользует ли SMTP-сервер имплицитное TLS-шифрование соединения (SSL). Если true, порт сервера обычно имеет значение 465. По умолчанию false.
tlsEnabledЛогическийНетИспользует ли SMTP-сервер эксплицитное TLS-шифрование соединения. Если true, порт сервера обычно имеет значение 587. По умолчанию false.
$mail.send({
smtpHost: "smtp.just-ai.com",
smtpPort: 587,
user: "user@just-ai.com",
password: $secrets.get("smtpPassword"),
from: "bot@just-ai.com",
hiddenCopy: ["admin@just-ai.com", "support@just-ai.com"],
to: ["user@example.com", "client@example.com"],
subject: "Новое предложение только для вас!",
content: "Только 25 марта на все наши тарифы скидка 20%!"
sslEnabled: false,
tlsEnabled: true
});

Метод возвращает объект с полем status — статус отправки сообщения:

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

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

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

state: SendDocument
script:
$temp.mailResult = $mail.send({
smtpHost: "smtp.just-ai.com",
smtpPort: 2525,
user: "user@just-ai.com",
password: $secrets.get("smtpPassword"),
from: "bot@just-ai.com",
to: "user@example.com",
subject: "Согласие на обработку персональных данных",
content: "Здравствуйте! Заполненное согласие во вложении, а также доступно по <a href=\"" + $session.fileUrl + "\">ссылке</a>."
});
if: $temp.mailResult.status === "OK"
a: Согласие успешно отправлено менеджеру.
else:
a: Извините, у меня не получилось отправить email.