call_split
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
Email Batch Splitter
Split large email lists into warmup-friendly batches
"""
import csv
from pathlib import Path
def split_into_batches(emails, batch_size=50):
"""Split email list into batches of specified size"""
batches = []
for i in range(0, len(emails), batch_size):
batches.append(emails[i:i+batch_size])
return batches
def save_batches(batches, output_dir='batches', prefix='batch'):
"""Save batches to separate CSV files"""
Path(output_dir).mkdir(exist_ok=True)
for i, batch in enumerate(batches, 1):
filename = Path(output_dir) / f'{prefix}_{i:03d}.csv'
with open(filename, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['email'])
for email in batch:
writer.writerow([email])
print(f'Created {filename} with {len(batch)} emails')
return len(batches)
def load_emails(filepath):
"""Load emails from CSV or TXT file"""
emails = []
with open(filepath, 'r') as f:
for line in f:
email = line.strip()
if email and '@' in email:
emails.append(email)
return emails
def split_for_warmup(emails, daily_limit=50, warmup_days=14):
"""Split list for gradual warmup schedule"""
# Increase volume each day
schedule = []
current = daily_limit
for day in range(warmup_days):
schedule.append(min(current, len(emails)))
current = int(current * 1.2) # 20% increase per day
return schedule
if __name__ == '__main__':
import sys
emails = load_emails(sys.argv[1])
batches = split_into_batches(emails, batch_size=50)
save_batches(batches)
print(f'Created {len(batches)} batches')
info Об инструменте
Разделитель email-пакетов делит большие списки email на меньшие, управляемые пакеты. Необходим для прогрева email, ограничения скорости отправки и управления кампаниями.
Ключевые особенности
- Настраиваемые размеры пакетов - Разделение на пакеты любого размера (по умолчанию 50)
- Планирование прогрева - Генерация прогрессивных размеров пакетов для прогрева
- CSV Output - Каждый пакет сохраняется в отдельный CSV-файл
- Нумерованные файлы - Пакеты пронумерованы для удобного отслеживания
- Дедупликация - Удаляет дубликаты перед разделением
Применение
- Прогрев email - Постепенное увеличение объёма для новых доменов
- Ограничение скорости - Соблюдение дневных лимитов отправки
- A/B тестирование - Разделение списка для вариаций теста
- Миграция ESP - Перемещение списков управляемыми частями
Требования
- Python 3.7+
- Без внешних зависимостей
Совет по прогреву: Start with 50 emails/day and increase by 20% daily for optimal domain reputation building.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial