Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Apache Airflow™
RU
  • Начало работы
    • Все руководства
      • Настройка SMTP-сервера для отправки уведомлений по электронной почте
      • Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Другие руководства
  3. Настройка SMTP-сервера для отправки уведомлений по электронной почте

Настройка SMTP-сервера для отправки уведомлений по электронной почте

Статья создана
Yandex Cloud
Обновлена 29 апреля 2026 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  • Удалите созданные ресурсы

Важно

Руководство тестировалось на кластерах с версией Apache Airflow™ ниже 3.0.

Вы может настроить SMTP-сервер для отправки уведомлений по электронной почте с помощью направленного ациклического графа (DAG). Данные для подключения к БД хранятся в Yandex Lockbox и автоматически подставляются в граф.

Чтобы реализовать настройку SMTP-сервера для отправки уведомлений по электронной почте:

  1. Подготовьте инфраструктуру.
  2. Создайте секрет Yandex Lockbox.
  3. Подготовьте DAG-файл и запустите граф.
  4. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Кластер Managed Service for Apache Airflow™: вычислительные ресурсы компонентов кластера (см. тарифы Managed Service for Apache Airflow™).
  • Бакет Yandex Object Storage: использование хранилища и выполнение операций с данными (см. тарифы Object Storage).
  • Секрет Yandex Lockbox: количество хранимых версий секрета и запросы к ним (см. тарифы Yandex Lockbox).

Подготовьте инфраструктуруПодготовьте инфраструктуру

  1. Создайте сервисный аккаунт airflow-sa с ролями:

    • managed-airflow.integrationProvider;
    • lockbox.payloadViewer.

    Роль lockbox.payloadViewer не обязательно выдавать на весь каталог. Достаточно назначить ее на конкретный секрет Yandex Lockbox после его создания.

  2. Создайте бакет Object Storage с произвольными настройками.

  3. Отредактируйте ACL созданного бакета так, чтобы у сервисного аккаунта airflow-sa было разрешение READ.

  4. Создайте кластер Managed Service for Apache Airflow™ с параметрами:

    • Сервисный аккаунт — airflow-sa;
    • Имя бакета — имя созданного бакета;
    • Использовать Lockbox Secret Backend — убедитесь, что эта опция включена.

    В блоке Конфигурация Airflow задайте дополнительные свойства Apache Airflow™ для настройки SMTP-сервера:

    Ключ Значение
    smtp.smtp_host smtp.yandex.ru
    smtp.smtp_port 465
    smtp.smtp_starttls False
    smtp.smtp_ssl True
    smtp.smtp_mail_from user@yandex.ru

    Заполните поля вручную или загрузите конфигурацию из файла (см. пример конфигурационного файла).

Создайте секрет Yandex LockboxСоздайте секрет Yandex Lockbox

Создайте секрет Yandex Lockbox с именем airflow/connections/smtp_default и содержимым json.dumps(conn), где conn — подключение к SMTP-серверу.

conn = {
         "conn_type": "smtp",
         "login": "user@yandex.ru",
         "password": "<пароль_для_внешних_приложений>"
}

В секрете airflow/connections/smtp_default будут сохранены данные для подключения к SMTP-серверу.

Подготовьте DAG-файл и запустите графПодготовьте DAG-файл и запустите граф

  1. Создайте локально файл с именем test_smtp_notification.py и скопируйте в него скрипт:

    from airflow.decorators import dag, task
    
    default_args = {
     "email": ["user@yandex.ru"],
     "email_on_failure": True,
     "email_on_retry": True
    }
    
    
    @dag(schedule=None, default_args=default_args)
    def test_smtp_notification():
        @task
        def failing_task():
            raise RuntimeError("some test error")
    
        failing_task()
    
    
    test_smtp_notification()
    
  2. Загрузите DAG-файл test_smtp_notification.py в созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически.

  3. Откройте веб-интерфейс Apache Airflow™.

  4. Убедитесь, что в разделе DAGs появился новый граф test_smtp_notification.

    Загрузка DAG-файла из бакета может занять несколько минут.

  5. Чтобы запустить граф, в строке с его именем нажмите кнопку image.

Проверьте результатПроверьте результат

Чтобы проверить результат в веб-интерфейсе Apache Airflow™:

  1. В разделе DAGs откройте граф test_smtp_notification.
  2. Перейдите в раздел Graph.
  3. Выберите задание failing_task.
  4. Перейдите в раздел Logs.
  5. Убедитесь, что в логах отсутствует строка some test error. Это значит, что запрос выполнен успешно.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Удалите ресурсы, которые вы больше не будете использовать, чтобы не платить за них:

  1. Сервисный аккаунт.
  2. Бакет Object Storage.
  3. Кластер Managed Service for Apache Airflow™.
  4. Секрет Yandex Lockbox.

Была ли статья полезна?

Предыдущая
Запуск PySpark-задания с помощью Yandex Managed Service for Apache Airflow™
Следующая
Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»