Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • 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
Улучшена
ilya
Обновлена 16 сентября 2026 г.
Открыть в Markdown
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  • Удалите созданные ресурсы

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

В руководстве в качестве SMTP-сервера используется Яндекс Почта (smtp.yandex.ru). Для проверки отправки уведомлений используется DAG-файл, в котором задача намеренно завершается ошибкой. При возникновении ошибки отправляется уведомление на указанный в DAG-файле адрес электронной почты.

Перед отправкой уведомлений подготовьте почтовый ящик отправителя:

  • разрешите доступ к почтовому ящику для почтовых клиентов;
  • создайте пароль для внешних приложений.

Чтобы настроить 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 <адрес_почты_отправителя>

    Заполните поля вручную или загрузите конфигурацию из файла. Чтобы загрузить конфигурацию из файла, нажмите кнопку Загрузить из файла и выберите способ загрузки Текст. В поле Содержимое скопируйте следующую конфигурацию:

    Конфигурация SMTP-сервера
    [smtp]
    smtp_host = smtp.yandex.ru
    smtp_port = 465
    smtp_starttls = False
    smtp_ssl = True
    smtp_mail_from = <адрес_почты_отправителя>
    

    Подробнее о параметрах для настройки SMTP-сервера читайте в документации Apache Airflow™.

  5. Настройте NAT-шлюз для подсетей кластера Managed Service for Apache Airflow™.

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

Создайте секрет Yandex Lockbox со следующими настройками:

  • Имя — airflow/connections/smtp_default.

  • Тип секрета — Пользовательский.

  • Ключ — conn.

  • Значение — выберите Текст и укажите следующее содержимое:

    {
      "conn_type": "smtp",
      "login": "<адрес_почты_отправителя>",
      "password": "<пароль_для_внешних_приложений>"
    }
    

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

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

    from airflow.decorators import dag, task
    
    default_args = {
     "email": ["<адрес_почты_получателя>"],
     "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.

  6. Дождитесь, когда задача завершится ошибкой. При этом на указанный адрес электронной почты отправится уведомление.

    Важно

    Если параметры SMTP-сервера, указанные в конфигурации Apache Airflow™, заданы неверно, уведомления отправляться не будут.

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

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

  1. В разделе DAGs откройте граф test_smtp_notification.
  2. Выберите задачу failing_task.
  3. На диаграмме Task Instance Duration выберите нужный запуск задачи.
  4. Перейдите на вкладку Logs.
  5. Убедитесь, что в логах присутствует строка Sent an alert email to ['<адрес_почты_получателя>'].

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

  1. В разделе DAGs откройте граф test_smtp_notification.
  2. Перейдите на вкладку Tasks и выберите задачу failing_task.
  3. Перейдите на вкладку Task Instances и выберите нужный запуск задачи.
  4. Перейдите на вкладку Logs.
  5. Убедитесь, что в логах присутствует строка Sent an alert email to ['<адрес_почты_получателя>'].

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

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

  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 ТОО «Облачные Сервисы Казахстан»