v2026.1 Open Portal ↗
On this page

Email & Notifications

Delivery Diagnostics

Email delivery issues in StackFlow can occur at the SES sending layer, SNS delivery layer, or notification routing layer. Check the notification delivery log in Admin → Notifications → Delivery Log first to identify where in the pipeline delivery is failing. The log shows delivery attempts, SES message IDs, and bounce/complaint events.

⚙️ Minimum Requirements
  • SES: Bounce/complaint notifications delivered to SNS topic stackflow-ses-bounces -- subscribe to this for delivery failure alerts
  • CloudWatch Logs: /aws/lambda/StackFlowEmailToTicket and /aws/lambda/StackFlowNotificationRouter log groups
  • SES Dashboard: Monitor sending reputation score, bounce rate (<5%), and complaint rate (<0.1%) in SES console
  • DynamoDB: StackFlow_EmailTemplate table -- verify all referenced template IDs exist before testing notification flows

SES Issues

SymptomLikely CauseDiagnostic StepResolution
Emails not deliveredSES account in sandbox modeCheck SES sandbox status in AWS consoleRequest production SES access via AWS console
Bounced emailsInvalid recipient email addressCheck SES bounce notifications in CloudWatchUpdate user email address; add to SES suppression list
"Sending paused" errorSES account reputation issueCheck SES account health in AWS consoleReview bounce/complaint rates; implement email list hygiene
Emails going to spamMissing DKIM/SPF recordsUse MXToolbox to check DNS recordsAdd SES DKIM CNAME records to DNS; verify SPF includes amazonses.com
aws ses get-account-sending-enabled --region us-east-1
aws ses get-send-quota --region us-east-1
aws ses get-send-statistics --region us-east-1 | jq '.SendDataPoints[-1]'

SNS Delivery Issues

SymptomLikely CauseDiagnostic StepResolution
SLA alerts not reaching on-call teamSNS subscription unconfirmedCheck SNS topic subscriptions — look for "PendingConfirmation" statusRe-subscribe and confirm the subscription endpoint
Webhook notifications failingTarget endpoint returning non-200 responseEnable SNS delivery status logging; check CloudWatch logsVerify webhook endpoint is up and returning 200
SNS messages backed upTarget endpoint slow (Lambda consumer)Check SQS queue depth for Ingestion FIFO queueIncrease Lambda concurrency or optimize consumer processing

Email-to-Ticket Issues

aws s3 ls s3://stackflow-email-inbox/inbound/   --region us-east-1 | tail -20

aws sqs get-queue-attributes   --queue-url https://sqs.us-east-1.amazonaws.com/373544523367/StackFlow-Events-Ingestion.fifo   --attribute-names ApproximateNumberOfMessages,ApproximateNumberOfMessagesNotVisible   --region us-east-1
Testing Email-to-Ticket: Send a test email to the configured inbound address. Check the S3 bucket for the raw email file within 60 seconds. If the file appears but no incident is created, check the StackFlowAPI Lambda logs for SQS consumer errors. If no file appears, check the SES receiving rule set.

Notification Template Errors

Template rendering errors occur when a notification template references a variable that doesn't exist in the triggering record. The error is logged to CloudWatch and the notification is skipped (not retried). Review template errors in Admin → Notifications → Template Errors. Common causes: a template was updated to reference a new field but the field doesn't exist in older record types, or a Jinja2 syntax error was introduced during template editing.

aws logs filter-log-events   --log-group-name /aws/lambda/StackFlowAPI   --filter-pattern '"template_render_error"'   --start-time $(date -d '1 hour ago' +%s000)   --region us-east-1