Отправка писем с помощью Postbox из Managed Apache Airflow
В этом посте я расскажу, как настроить почтовые уведомления об ошибках в Managed Apache Airflow с помощью Postbox.
В этом посте я расскажу, как настроить почтовые уведомления об ошибках в Managed Apache Airflow с помощью Postbox.
Сверстать письмо хорошо, так чтобы оно корректно отображалось во всех почтовых клиентах, на десктопе и мобильных устройствах, не так просто.
Для надо знать нюансы того как почтовые клиенты возможности
CSS и HTML. Чтобы не выяснять это на практике, можно пользоваться сайтом Can I email,
где можно посмотреть поддержку различных тегов и атрибутов в различных почтовых клиентах.
Вот, например, Gmail отбрасывает аттрибут style
целиком, если встречает
в нем цвет заданный как rgb
.
В итоге даже в 2025 году верстка писем сводится к использованию таблиц и аттрибутов align
, valign
, bgcolor
и т.д.
Ну а еще отправив письмо, вы не можете его поправить, как страницу на сайте.
Поэтому я оценил библиотеку React Email, которая позволяет создавать письма с использованием React. Она предоставляет компоненты, которые генерируют HTML и CSS, корректно отображающиеся во всех почтовых клиентах. Письмо можно посмотреть в браузере и отправить на почту. Да, под капотом все равно используются таблицы, но зато вам не придется их писать руками, а можно использовать более высокоуровневые абстракции.
Когда балансировщик нагрузки или прокси-сервер не могут сохранить исходный IP-адрес клиента, он может переписать
IP-адрес или использовать свой собственный IP-адрес для целей маршрутизации. В этом сценарии широко используются
обычные методы, такие как вставка исходного IP-адреса в заголовки запросов (например, X-Forwarded-For
) или
использование протокола прокси, чтобы гарантировать, что серверные службы по-прежнему имеют доступ к этой информации.
Application Load Balancer работает на 7 уровне и
используют HTTP-заголовок X-Forwarded-For
для передачи
IP-адреса клиента серверу. Но что делать если вы работаете на уровне 3 и не можете использовать HTTP-заголовки?
В этом случае нужно учитывать, что Network Load Balancer (NLB)
и Application Load Balancer (ALB) по-разному обрабатывают L3 трафик. Об этих различиях и пойдет речь в этой статье.
В качестве примера мы рассмотрим nginx. Мы настроим его на прием запросов с NLB и ALB в L3 и L7 вариантах. Все примеры развертывания описаны в Terraform рецепте и вы сможете легко самостоятельно проверить их.
Я уже полтора года пишу в этот standalone блог. До этого я писал на Medium. И вот там была классная фича, сделать
которую тут у меня все не доходили руки. Это форма подписки на email. Я хотел сделать так, чтобы читатели могли
подписаться
на новые статьи и получать на почту уведомления. Но я не хотел использовать Mailchimp или подобные сервисы. Я хотел
сделать все, используя Yandex Cloud. И вот наконец-то я это сделал. В этой статье я расскажу, как я это сделал.
Кстати, справа вы видите именно эту форму подписки. Если вы хотите подписаться на новые статьи, введите свой email и нажмите кнопку "Подписаться". А теперь давайте разберемся, как это работает.
У Application Load Balancer в Yandex Cloud есть крутая фича — интеграция с Certificate Manager. Это позволяет автоматически получать SSL сертификаты для ваших доменов, а также обновлять их. Но иногда ALB может быть слишком дорогим. В таком случае можно использовать Traefik в качестве reverse proxy и WAF. В этой статье я покажу как настроить Traefik в Yandex Cloud и добавить интеграцию с Certificate Manager.
Запустить браузер в Serverless окружении довольно просто. В этой статье я покажу как использовать Puppeteer в Yandex Cloud Serverless контейнере.
Чтобы отправлять почту через Postbox, нужно настроить почтовый сервер. В этой статье я расскажу как настроить Sendmail или Postfix на Ubuntu 24.04 для отправки почты через Postbox по 587 порту.
Начнем с создания виртуальной машины на Ubuntu 24.04. Имя укажем demo
, а имя пользователя yc-user
. Они не
обязательно должны именно такими, но так проще будет ориентироваться в статье, понимая откуда взялись эти значения.
Для начала, установим GitLab. Для этого возьмем виртуальную машину на Ubuntu 24.04.
WAF (Web Application Firewall) — это инструмент, который защищает веб-приложения от различных видов атак, анализируя и фильтруя HTTP-запросы. Вот основные преимущества и случаи, когда WAF может быть полезен:
Отдельным плюсом является возможность использования WAF без изменения кода приложения. WAF работает как промежуточное звено между пользователем и сервером, поэтому разработчикам не нужно вносить изменения в код приложения. Это экономит время и снижает вероятность ошибок.
Однако, библиотека про которую пойдет речь в этой статье, Coraza, также может быть использована внутри приложения.
В прошлом посте говорил, что в задачах для которых создавалась YDB использование автоинкремента нецелесообразно. Так как он может стать бутылочным горлышком при вставке большого количества данных.
Однако, с развитием YDB, разработчикам стало понятно, что serial типы данных востребованы пользователями. И в версии 24.3 они были добавлены.