GMU — это мощный командный интерфейс для верстальщиков email-рассылок, который автоматизирует процесс создания, обработки и загрузки писем в популярные сервисы рассылок. Инструмент поддерживает интеграцию с Unisender и WebLetter, обеспечивая полный цикл работы с email-кампаниями от верстки до отправки.
- Автоматическая инлайн-обработка CSS с помощью собственного класса
- Загрузка писем в Unisender через API с полной поддержкой изображений
- Интеграция с WebLetter для создания превью писем
- Создание архивов для удобного хранения и передачи
- Отправка тестовых писем для проверки перед массовой рассылкой
- Управление кампаниями с поддержкой UTM-меток
- Автодополнение команд для повышения эффективности работы
- Клонируйте репозиторий:
git clone https://github.com/fes323/GMU---Premailer-CLI-for-Unisender.git
cd GMU---Premailer-CLI-for-Unisender- Установите зависимости:
poetry install- Соберите пакет:
poetry build- Установите CLI:
cd dist
pip install gmu-1.0.0-py3-none-any.whlpip install gmugmu --versionСоздайте файл .env в корне проекта или в директории пользователя:
Windows: C:\Users\USERNAME\AppData\Roaming\gmu\.env
Linux/macOS: ~/.config/gmu/.env
# Unisender API
UNISENDER_API_KEY=your_api_key_here
UNISENDER_API_URL=https://api.unisender.com/ru/api/
# WebLetter (опционально)
WL_AUTH_TOKEN=your_wl_token_here
WL_URL=https://domain.ru/
WL_ENDPOINT=https://domain.ru/api/webletters/
# Дополнительные настройки
UNICNV_DLL_PATH=- Typer (>=0.16.0) - CLI фреймворк для создания команд
- BeautifulSoup4 (>=4.13.4) - Парсинг и обработка HTML
- Requests (>=2.32.3) - HTTP-запросы к API
- Python-dotenv (>=1.1.0) - Загрузка переменных окружения
- CairoSVG (>=2.8.2) - Конвертация SVG в другие форматы
- Termcolor (>=3.1.0) - Цветной вывод в терминал
- Pillow (>=11.2.1) - Обработка изображений
- Windows: GTK-for-Windows-Runtime-Environment-Installer
- macOS:
brew install cairo libffi
- Linux (Ubuntu/Debian):
sudo apt-get install cairo python3-dev libffi-dev
gmu --versionПоказывает текущую версию CLI.
gmu --install-completion # Установить автодополнение
gmu --show-completion # Показать настройки автодополненияgmu message create [--list-id LIST_ID] [--html-filename FILE] [--images-folder FOLDER] [--force]--list-id- ID списка рассылки (по умолчанию: 20547119)--html-filename- Имя HTML файла (по умолчанию: первый .html в папке)--images-folder- Папка с изображениями (по умолчанию: "images")--force- Пропустить проверку существующего письма
gmu message upsert [--list-id LIST_ID] [--html-filename FILE] [--images-folder FOLDER] [--force]Автоматически определяет, нужно ли создать новое письмо или обновить существующее на основе файла gmu.json.
gmu message update [--html-filename FILE] [--list-id LIST_ID] [--images-folder FOLDER]Важно: Unisender не поддерживает прямое обновление писем с изображениями, поэтому команда сначала удаляет старое письмо, затем создает новое.
gmu message delete [--id MESSAGE_ID]--id- ID письма для удаления (по умолчанию берется изgmu.json)
gmu message test [--id MESSAGE_ID] [--email EMAIL_ADDRESSES]--id- ID письма в Unisender (по умолчанию изgmu.json)--email- Email адреса для тестирования (можно указать несколько через запятую)
gmu campaign create [--message-id ID] [--start-time TIME] [--track-ga 0|1] [--ga-medium MEDIUM] [--ga-source SOURCE] [--ga-campaign CAMPAIGN]--message-id- ID письма (по умолчанию изgmu.json)--start-time- Время начала в формате 'YYYY-MM-DD HH:MM'--track-ga- Включить UTM-метки (1) или выключить (0)--ga-medium,--ga-source,--ga-campaign- Параметры UTM-меток
gmu campaign status CAMPAIGN_IDgmu wl upsertЗагружает письмо на WebLetter для создания превью.
gmu wl delete [--id WL_ID]--id- ID письма в WebLetter (по умолчанию изgmu.json)
gmu archive [--html-filename FILE] [--images-folder FOLDER]Создает ZIP-архив с HTML файлом и изображениями.
project/
├── index.html # Основной HTML файл письма
├── images/ # Папка с изображениями
└── gmu.json # Конфигурационный файл (создается автоматически)
- Создайте HTML файл письма в корне проекта
- Поместите изображения в папку
images/ - Настройте переменные окружения в
.env - Создайте письмо:
gmu message create
- Отправьте тестовое письмо:
gmu message test --email test@example.com - Создайте кампанию:
gmu campaign create --start-time "2024-01-15 10:00"
gmu message upsertgmu wl upsert- Убедитесь, что установлены все системные зависимости
- На Windows установите GTK Runtime Environment
- На Linux установите пакеты:
cairo,python3-dev,libffi-dev
- Проверьте правильность API ключей в
.env - Убедитесь, что файл
.envнаходится в правильной директории - Проверьте доступность API endpoints
- Убедитесь, что HTML файл находится в корне проекта
- Проверьте права доступа к папке
images/ - Убедитесь, что все изображения имеют корректные пути
При возникновении проблем создайте issue в репозитории.
