$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.