merge_type

code Python verified Бесплатная загрузка devices Кроссплатформенный

code Предпросмотр кода

Python
#!/usr/bin/env python3
"""
Mail Merge Tool
Merge CSV data into email templates for personalized bulk emails
"""
import csv
from string import Template

def mail_merge(template_file, data_file, output_file):
    """Merge template with CSV data"""
    # Load template
    with open(template_file, 'r') as f:
        template = Template(f.read())

    # Load data
    with open(data_file, 'r') as f:
        reader = csv.DictReader(f)
        data = list(reader)

    # Generate personalized emails
    results = []
    for row in data:
        try:
            personalized = template.safe_substitute(row)
            results.append({
                'email': row.get('email', ''),
                'content': personalized,
                'status': 'success'
            })
        except Exception as e:
            results.append({
                'email': row.get('email', ''),
                'content': '',
                'status': f'error: {e}'
            })

    # Save results
    with open(output_file, 'w', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=['email', 'content', 'status'])
        writer.writeheader()
        writer.writerows(results)

    return len([r for r in results if r['status'] == 'success'])

def preview_merge(template_str, sample_data):
    """Preview merge with sample data"""
    template = Template(template_str)
    return template.safe_substitute(sample_data)

if __name__ == '__main__':
    # Example usage
    sample = {'name': 'John', 'company': 'Acme Inc', 'role': 'CEO'}
    template = "Hi $name,\n\nAs $role at $company..."
    print(preview_merge(template, sample))

info Об инструменте

Инструмент рассылки объединяет ваши email-шаблоны с данными CSV для создания персонализированных сообщений в масштабе. Идеально для холодных рассылок и массовых email-кампаний.

Ключевые особенности

  • Переменные шаблона - Используйте синтаксис $variable или ${variable}
  • Интеграция с CSV - Прямое слияние с данными таблицы
  • Error Handling - Сообщает о недостающих переменных в каждой строке
  • Режим предпросмотра - Тестовое слияние перед полным запуском
  • Пакетный вывод - Экспорт всех персонализированных писем в CSV

Синтаксис шаблона

  • $name - Простая замена переменных
  • ${company} - Переменная с фигурными скобками
  • $first_name $last_name - Множественные переменные

Требования

  • Python 3.7+
  • Без внешних зависимостей

Совет: Всегда предпросматривайте с тестовыми данными перед полным слиянием для выявления несоответствий переменных.

download Скачать скрипт

Нужна полная автоматизация?

Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией

rocket_launch Start Free Trial