180 lines
4.5 KiB
JSON
180 lines
4.5 KiB
JSON
{
|
|
"version": "1.0",
|
|
"campaign": {
|
|
"id": "rechnungslegung-2026-05",
|
|
"name": "Rechnungslegung 2026-05",
|
|
"mode": "draft",
|
|
"description": "Example campaign migrated from the Java object model."
|
|
},
|
|
"fields": [
|
|
{
|
|
"name": "monthyear",
|
|
"type": "string",
|
|
"label": "Month/year",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "number",
|
|
"type": "string",
|
|
"label": "Dienststelle",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "anrede",
|
|
"type": "string",
|
|
"label": "Salutation"
|
|
},
|
|
{
|
|
"name": "zip_password",
|
|
"type": "password",
|
|
"label": "ZIP password",
|
|
"required": true
|
|
}
|
|
],
|
|
"global_values": {
|
|
"monthyear": "05 / 2026"
|
|
},
|
|
"server": {
|
|
"smtp": {
|
|
"host": "smtp.example.org",
|
|
"port": 587,
|
|
"username": "user@example.org",
|
|
"password": "CHANGE_ME_OR_REFERENCE_SECRET",
|
|
"security": "starttls"
|
|
},
|
|
"imap": {
|
|
"enabled": true,
|
|
"host": "imap.example.org",
|
|
"port": 993,
|
|
"username": "user@example.org",
|
|
"password": "CHANGE_ME_OR_REFERENCE_SECRET",
|
|
"security": "tls",
|
|
"sent_folder": "auto"
|
|
}
|
|
},
|
|
"recipients": {
|
|
"from": {
|
|
"name": "Rechnungslegung D5",
|
|
"email": "d5-rechnungslegung@example.org",
|
|
"type": "to"
|
|
},
|
|
"allow_individual_from": false,
|
|
"to": [],
|
|
"allow_individual_to": true,
|
|
"cc": [],
|
|
"allow_individual_cc": false,
|
|
"bcc": [],
|
|
"allow_individual_bcc": false,
|
|
"reply_to": [
|
|
{
|
|
"name": "Rechnungslegung D5",
|
|
"email": "d5-rechnungslegung@example.org",
|
|
"type": "reply_to"
|
|
}
|
|
],
|
|
"allow_individual_reply_to": false,
|
|
"bounce_to": [],
|
|
"allow_individual_bounce_to": false,
|
|
"disposition_notification_to": [],
|
|
"allow_individual_disposition_notification_to": false
|
|
},
|
|
"template": {
|
|
"subject": "Rechnungslegungslisten für ${global::monthyear} und Dienststelle ${local::number}",
|
|
"text": "${local::anrede},\n\nbeigefügt erhalten Sie die Rechnungslegungslisten für ${global::monthyear}.\n\nMit freundlichen Grüßen"
|
|
},
|
|
"attachments": {
|
|
"base_path": "./data/attachments",
|
|
"allow_individual": true,
|
|
"send_without_attachments": false,
|
|
"global": [],
|
|
"missing_behavior": "ask",
|
|
"ambiguous_behavior": "ask"
|
|
},
|
|
"entries": {
|
|
"source": {
|
|
"type": "csv",
|
|
"path": "./data/recipients.csv",
|
|
"delimiter": ";",
|
|
"encoding": "utf-8",
|
|
"has_header": true
|
|
},
|
|
"mapping": {
|
|
"id": "ID",
|
|
"active": "Aktiv",
|
|
"to.0.email": "E-Mail",
|
|
"to.0.name": "Name",
|
|
"fields.number": "Dienststelle",
|
|
"fields.anrede": "Anrede",
|
|
"fields.zip_password": "ZIP-Passwort",
|
|
"attachments.0.base_dir": "Unterordner",
|
|
"attachments.0.file_filter": "Dateimuster"
|
|
},
|
|
"defaults": {
|
|
"active": true,
|
|
"to": [],
|
|
"combine_to": false,
|
|
"cc": [],
|
|
"combine_cc": true,
|
|
"bcc": [],
|
|
"combine_bcc": true,
|
|
"reply_to": [],
|
|
"combine_reply_to": true,
|
|
"bounce_to": [],
|
|
"combine_bounce_to": true,
|
|
"disposition_notification_to": [],
|
|
"combine_disposition_notification_to": true,
|
|
"attachments": [
|
|
{
|
|
"id": "individual-documents",
|
|
"label": "Personalized PDF bundle",
|
|
"base_dir": ".",
|
|
"file_filter": "${local::number}_*.pdf",
|
|
"include_subdirs": false,
|
|
"required": true,
|
|
"allow_multiple": true,
|
|
"missing_behavior": "ask",
|
|
"ambiguous_behavior": "continue",
|
|
"zip": {
|
|
"enabled": true,
|
|
"filename_template": "Rechnungslegung_${local::number}.zip",
|
|
"password_template": "${local::zip_password}",
|
|
"method": "aes"
|
|
}
|
|
}
|
|
],
|
|
"combine_attachments": true,
|
|
"fields": {}
|
|
}
|
|
},
|
|
"validation_policy": {
|
|
"missing_required_attachment": "ask",
|
|
"missing_optional_attachment": "warn",
|
|
"ambiguous_attachment_match": "ask",
|
|
"missing_email": "block",
|
|
"template_error": "block",
|
|
"inactive_entry": "drop"
|
|
},
|
|
"delivery": {
|
|
"rate_limit": {
|
|
"messages_per_minute": 5,
|
|
"concurrency": 1
|
|
},
|
|
"imap_append_sent": {
|
|
"enabled": true,
|
|
"folder": "auto"
|
|
},
|
|
"retry": {
|
|
"max_attempts": 3,
|
|
"backoff_seconds": [
|
|
60,
|
|
300,
|
|
900
|
|
]
|
|
}
|
|
},
|
|
"status_tracking": {
|
|
"enabled": true,
|
|
"initial_build_status": "built",
|
|
"initial_send_status": "draft"
|
|
}
|
|
} |