Дмитрий Гапонов › Nautisss
Сайты руками, боты и парсеры на Python, чертежи в AutoCAD
Рейтинг
5 442
№ 268 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
На сайте с
2025 года
Юридический статус
Самозанятый

Сводный отчёт по доставляемости писем на 400 доменов в Google Таблице - собирается сам каждое утро

Описание

У заказчика несколько сотен доменов, с которых идут рассылки. Почтовый сервис показывает статистику по каждому отдельно - зайти, выбрать домен, посмотреть. Просмотреть так четыре сотни доменов нереально.

Он хотел одну таблицу. Строка на домен, по каждому дню блок из четырёх колонок - сколько писем, доставлено, вероятно спам, спам. Свежие даты слева, заливка по светофору, и чтобы всё это обновлялось само.

Плюс сами домены сначала надо было подключить к почтовому сервису - добавить, получить код подтверждения, прописать DNS-запись у регистратора и дождаться, пока сервис подтвердит права. По сотне доменов на почтовый ящик, ящиков несколько, и каждый ящик заводится отдельно.

Решение

Статистику отдаёт API почтового сервиса, и за один запрос он отдаёт сразу все домены ящика, если не указывать домен. На этом и построен сборщик.

Добавление домена API не умеет, только руками через форму. Сотню доменов гнал запросами со страницы личного кабинета, с живой сессией. Форма добавления, со страницы проверки снимается код подтверждения, дальше запись в панель регистратора и запрос на подтверждение с опросом задачи до успеха. Подряд без пауз сервис отдаёт 429 - первые сто запросов принесли 81 пустышку, лечится паузой в полторы секунды.

Массовая ручка панели регистратора не подошла. Она ставит одно значение на много доменов, а код подтверждения у каждого домена свой, поэтому записи добавлял по одной.

Сборщик написал внутри самой таблицы, скриптом - так она живёт без моего сервера. Служебный лист с ключами, меню с ручным обновлением и суточный триггер на шесть утра. Ключ там только на чтение статистики, доступа к почте таблице не нужно.

Сервис отвечает медленно и режет частые запросы, поэтому между днями стоит пауза в десять секунд, а за один запуск добирается не больше пяти недостающих дней - остальное догоняется следующими запусками.

Заголовок авторизации у этого API нестандартный, с привычным Authorization приходит 403. Проверять тут надо не код ответа, а само значение.

Заливку переделал после замечания заказчика. Сначала строка красилась целиком по доле доставки, стало - каждая доля красится своим цветом.

Результат

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

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Мониторинг сотни чатов в мессенджере - слушатель ловит нужные слова и шлёт уведомление со ссылкой на сообщение
Мониторинг сотни чатов в мессенджере - слушатель ловит нужные слова и шлёт уведомление со ссылкой на сообщение
5
Веб-разработка и IT Лендинг походного клуба: маршруты по Кавказу, Алтаю и Камчатке с подбором группы под человека
Лендинг походного клуба: маршруты по Кавказу, Алтаю и Камчатке с подбором группы под человека
6
Инженерия и Проектирование Многоэтажный жилой дом: планы этажей, фасады, разрез и генплан в AutoCAD
Многоэтажный жилой дом: планы этажей, фасады, разрез и генплан в AutoCAD
9
Инженерия и Проектирование Ворота трансформаторной подстанции: чертёж КМ с фасадом, разрезами и спецификацией металла
Ворота трансформаторной подстанции: чертёж КМ с фасадом, разрезами и спецификацией металла
7