< Все темы

Шаблоны писем в скриптах

При создании скриптов можно настроить автоматическую отправку писем на ваш email об их успешном выполнении. В письме можно передавать параметры и переменные, которые используются в скриптах.

Настройка шаблонов писем

Шаблон письма — это HTML-код, который отправляется на ваш email после запуска скрипта.

Шаблоны писем настраиваются при создании скрипта. Для этого:

  1. Перейдите в Скрипты  Создать скрипт.
  2. Введите настройки и тело скрипта. Подробнее см. Создание скриптов.
  3. В разделе Уведомление на E-mail нажмите Добавить и настройте шаблоны писем.
    • По умолчанию доступна настройка шаблона письма на английском языке — Письмо для EN. Для создания шаблона письма на русском нажмите Добавить письмо для RU.
  4. Укажите Тему письма для каждого шаблона.
  5. Настройте свой шаблон в поле Контент.
    • По умолчанию в этом поле указаны HTML-блоки, которые вы можете использовать для создания собственного шаблона. Эти блоки являются частью глобального шаблона, в котором определён дизайн письма — логотип VMmanager, шрифты, цвет текста и кнопок. В текущей реализации возможности редактировать глобальный шаблон нет.
  6. Кнопка Предпросмотр позволяет посмотреть внешний вид письма, которое получит пользователь.
  7. Для сохранения скрипта и шаблона письма нажмите Создать.

Внимание! При одновременном запуске нескольких скриптов на одной ВМ письмо можно будет отправить только по одному скрипту.

Параметры и переменные скриптов в шаблонах

Все параметры и переменные, которые используются в скрипте, могут также использоваться в шаблонах писем. Подробнее о переменных см.Переменные для скриптов.

Это позволяет подставить используемые параметры в письмо пользователю. Например, при выполнении скрипта генерируется логин и пароль. Тогда эти параметры можно указать в шаблоне письма.

Чтобы передать параметры из скрипта в шаблон, используйте в скрипте следующие конструкции:

  • vm_export_variable <var_name> <var_value> — используется для передачи переменной в шаблон письма. Например, в скрипте генерируется пароль и его значение можно отправить в письме;
    • <var_name> — имя переменной, как она будет указываться в письме. Например, password.
    • <var_value> — значение переменной. Предпочтительно указывать в кавычках, чтобы синтаксис bash правильно определил указанную переменную. Значение переменной может задаваться или генерироваться внутри скрипта.

Внимание! Все переменные (из скрипта, глобальные/локальные, параметры), которые нужно добавить в шаблон письма, необходимо указать в теле шаблона в формате ($var_name).

  • vm_export_file <file_name> <file_path> — используется для передачи в шаблон письма файла, который генерируется внутри скрипта. Файл отправляется во вложении к письму и внутри шаблона письма указывать его не нужно;
    • <file_name> — название файла, как оно будет указываться в письме.
    • <file_path> — путь до файла.
  • vm_export_dir <dir_name> <dir_path> — используется для передачи в шаблон письма директории в формате архива .tar. Архив отправляется во вложении к письму и внутри шаблона письма указывать его не нужно.
    • <dir_name> — название архива .tar.
    • <dir_path> — путь до директории.

Внимание! Конструкция vm_export_dir не работает на виртуальных машинах с Windows, а также на ВМ, в которых не установлен tar.

По умолчанию максимальный размер прикрепляемого к письму файла/архива — 2 МБ.

Пример настройки шаблона письма

В качестве примера приведён скрипт, который создаёт и компилирует файл на языке C++:

dnf install -y gcc git gcc-c++

mkdir /root/example
cd /root/example
echo '#include <iostream>

int main() {
    std::cout << "Hello world!";
}' > ./example.cpp
g++ example.cpp -o /root/example/example
/root/example/example > /tmp/test.txt
output="$(cat /tmp/test.txt)"

vm_export_variable output "$output"
vm_export_file output.txt /tmp/test.txt

rm -rf /tmp/test.txt /root/example

В письме выводится информация: IP-адрес виртуальной машины, на которой компилируется файл, версия сборки и вывод:

<h1 style="margin-bottom: 10px">Ваш файл скомпилирован</h1>
<div>
  <p><b>Скомпилировано на:</b> ($IP)</p>
  <p><b>Версия сборки:</b> ($build_ver)</p>
  <p><b>Вывод:</b> ($output)</p>
</div>

Для этого используется глобальная переменная $IP, параметр скрипта build_ver и переменная, заданная в скрипте output.

Предыдущая Переменные для скриптов
Прокрутить вверх