aktueller Umbaustatus

This commit is contained in:
2025-11-16 17:04:25 -06:00
parent df0d92ba27
commit bac5aebbb4
9 changed files with 886 additions and 198 deletions

View File

@@ -5,18 +5,20 @@ dynamo = boto3.resource('dynamodb', region_name='us-east-2')
table = dynamo.Table('ses-outbound-messages')
def lambda_handler(event, context):
detail = event['detail']
mail = detail['mail']
msg_id = mail['messageId']
source = mail['source']
destinations = mail['destination'] # Liste
print(f"Received event: {event}")
detail = event.get('detail', {})
mail = detail.get('mail', {})
msg_id = mail.get('messageId')
if not msg_id:
print("No MessageId in event")
return
if event_type == 'SEND':
# wie bisher
# Event-Type aus dem Event extrahieren
event_type = detail.get('eventType')
if event_type == 'Send':
source = mail.get('source')
destinations = mail.get('destination', [])
table.put_item(
@@ -27,9 +29,10 @@ def lambda_handler(event, context):
'timestamp': mail.get('timestamp')
}
)
print(f"Stored SEND event for {msg_id}")
return
if event_type == 'BOUNCE':
if event_type == 'Bounce':
bounce = detail.get('bounce', {})
bounced = [
r.get('emailAddress')
@@ -40,18 +43,17 @@ def lambda_handler(event, context):
print("No bouncedRecipients in bounce event")
return
# in DynamoDB anhängen
table.update_item(
Key={'MessageId': msg_id},
UpdateExpression="ADD bouncedRecipients :b",
ExpressionAttributeValues={
':b': set(bounced) # String-Set
':b': set(bounced)
}
)
print(f"Updated {msg_id} with bouncedRecipients={bounced}")
return
if event_type == 'COMPLAINT':
if event_type == 'Complaint':
complaint = detail.get('complaint', {})
complained = [
r.get('emailAddress')
@@ -69,4 +71,4 @@ def lambda_handler(event, context):
}
)
print(f"Updated {msg_id} with complaintRecipients={complained}")
return
return