Skip to content
Learn

Lesson 3 · Step 1 of 8

The path a message takes

Why. Hold this picture. Every file in the repo is one box on it.

All steps in this lesson
  1. 1. The path a message takes
  2. 2. The Lambda is a thin door
  3. 3. Validate, Turnstile, then send
  4. 4. Turnstile secret, same pattern as SMTP
  5. 5. The JSON the form must send
  6. 6. Build and test beside Email
  7. 7. CDK stays on the umbrella
  8. 8. Ship the function, park the lesson

A visitor submits the contact form on mikepattyn.nl. Cloudflare sits in front. The Lambda never talks to the browser’s real IP for Turnstile — CloudFront would lie.

  1. FormPOST JSON
  2. API Gateway/api/contact
  3. LambdaTurnstile
  4. EmailZoho SMTP

Contact.Api is the public package gitlink. CDK, API Gateway, and the pointer bump live on the mikepattyn umbrella. This repo is the function, the templates, and the tests.

Open Mikepattyn.Contact.Api