html content

This commit is contained in:
Andreas Knuth 2026-01-24 16:37:46 -06:00
parent 424175fe72
commit adad46ce7d
1 changed files with 21 additions and 11 deletions

View File

@ -16,16 +16,14 @@ table = dynamodb.Table(TABLE)
def generate_sieve(email, rules): def generate_sieve(email, rules):
"""Generate Sieve script from DynamoDB rules""" """Generate Sieve script from DynamoDB rules"""
script = [ script = ['require ["copy","vacation","variables"];']
'require ["copy","vacation","variables"];',
'', # Skip if already processed by worker
'# Skip if already processed by worker', script.append('# Skip if already processed by worker')
'if header :contains "X-SES-Worker-Processed" "" {', script.append('if header :contains "X-SES-Worker-Processed" "" {')
' keep;', script.append(' keep;')
' stop;', script.append(' stop;')
'}', script.append('}')
''
]
# Forwards # Forwards
forwards = rules.get('forwards', []) forwards = rules.get('forwards', [])
@ -37,8 +35,20 @@ def generate_sieve(email, rules):
# OOO # OOO
if rules.get('ooo_active'): if rules.get('ooo_active'):
msg = rules.get('ooo_message', 'I am away') msg = rules.get('ooo_message', 'I am away')
content_type = rules.get('ooo_content_type', 'text')
script.append('# rule:[reply]') script.append('# rule:[reply]')
script.append(f'vacation :days 1 :from "{email}" "{msg}";')
if content_type == 'html':
# HTML mit :mime
script.append(f'vacation :days 1 :from "{email}" :mime text:')
script.append(f'Content-Type: text/html; charset=utf-8')
script.append(f'')
script.append(msg)
script.append('.')
else:
# Plain text
script.append(f'vacation :days 1 :from "{email}" "{msg}";')
return '\n'.join(script) return '\n'.join(script)