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