Trying (and Failing) to Send Emails from My Domain

Home About Projects Blog ResourcesContact

Building the Ops Side of emilybuilds.ai

When I added a simple sign-up form to emilybuilds.ai, I thought the hard part was over. The idea was straightforward:

  • Let people subscribe for occasional updates
  • Send a friendly welcome email from hello@emilysas.com
  • Keep everything lightweight, privacy-friendly, and under my control

Easy, right? Not quite.

What went wrong

I already had my domain registered with Namecheap, and I’d set up a mailbox via their PrivateEmail service. It was cost-effective, worked well with my domain, and gave me a professional @emilysas.com address.

It seemed like a sensible way to send branded updates - without relying on Gmail or paying for a heavier solution.

When I tried wiring up email sending via Zapier + SMTP, things quickly broke down:

  • TLS vs SSL: Zapier defaults to TLS on port 587, but PrivateEmail prefers SSL on port 465. I tried both combinations. No luck.
  • Authentication errors: I repeatedly got authentication failed: read ECONNRESET, despite using the correct credentials and ports.
  • No 2FA or App Passwords: PrivateEmail doesn’t support app-specific passwords or modern two-factor auth flows — which Zapier often expects.
  • Zero helpful logs: Error messages were vague, and the troubleshooting process felt like chasing shadows across forums, dashboards, and settings panels.

I checked recovery keys, control panels, and mailbox permissions in both Namecheap and PrivateEmail. Still no dice.

The fallback

After several hours of experimenting and getting nowhere, I decided to email support, pause the automation and keep the form simple for now:

✅ The Tally form collects email + optional name

Zapier sends this data to Airtable for safekeeping

❌ The welcome email is temporarily disabled

This avoids broken functionality and lets me revisit email delivery later.

What I learned (the hard way)

  • “No-code” still involves setup ops. Not unsimilar to coding tbh, it seems much of the time sink is caused by sorting out weird niggly config issues.
  • Tool choice matters. It might be better to test a small, reliable stack and stick with it, rather than assuming new tools will automatically work well together. This is a tricky one because part of what I’m wanting to do is experiment with what’s out there, but I may do better to pick a few tools that play nicely together and stick with them, rather than constantly swapping things in and hoping they’ll just click.

What’s next

I’ll revisit this email flow when I have a more robust comms strategy. In the meantime, if you want to follow along as I experiment, build, and (occasionally) break things — you can still sign up here.

Update – 9 July 2025

After all the back-and-forth, I finally got the email workflow up and running. The key fixes were:

  • Using my regular password, not the application-specific one (thanks to Namecheap support for clarifying this).
  • Switching from using a hardcoded record ID in Airtable to finding the signup by email address, then updating that record — much more robust.

The welcome email now sends reliably, and the Airtable record gets updated to show it’s been sent. A small thing, but it feels like a proper mini-ops victory.