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