Launch 4 min read

Email for your first product: sending, replies and updates

Product email has several jobs that are easy to confuse. A receipt or account message helps someone use the product. A support inbox lets them reach you. A newsletter asks them to hear from you again. Decide which jobs your first version needs, then test the full path instead of assuming a sending API covers all three.

By MadeByWho

What you’ll take away

  • Separate product messages from optional marketing updates.
  • A sending service is not automatically a receiving inbox.
  • Verify a real delivery, useful links and an unsubscribe path.

Write the email jobs before choosing templates

A simple browser game may need only a monitored contact address. A tool with accounts may need verification or recovery messages. A service that finishes work later may need a completion email. These messages should state what happened, what to do next and how to get help. Do not invent an email sequence just because the provider includes an automation builder.

Optional product updates have a different purpose. Ask people whether they want them, describe the likely frequency and provide a way to stop. Creating an account does not have to mean joining every promotional list. Keep the preference separate so someone can stop a digest while still receiving necessary account messages.

Scroll to see all columns →

Email jobTypical triggerWhat to verify
Account or service messageA relevant account/product eventCorrect person, action and link
Support replyA person asks for helpMonitored receiving address and reply routing
Welcome guidanceA genuine new account or chosen onboarding stepUseful first action; no unsupported claim of subscription
Optional digestAn active update preferenceCurrent opt-in, unsubscribe and accurate content

Set up a real sender and a real reply path

Use a domain you control and follow the sending provider’s DNS verification instructions. Resend, for example, documents domain verification for sending and optional receiving configuration. Sender verification and receiving mail are separate jobs. Preserve existing DNS records unless you know what they do; replacing an MX record can change where incoming mail goes.

Choose a recognizable sender name and an address that fits the purpose. Set Reply-To to a monitored destination when replies should go somewhere else. Send from the production configuration and reply from another account during your test. If nobody will read the receiving address, do not present it as a support inbox.

Make the template useful before making it ornate

Begin with a short subject that explains the event. Put the main action early, include a normal text link as well as a button, and make the message readable without images. Use a simple layout, your actual product name, generous text size and a footer with an honest contact route. Provide a plain-text alternative.

For a hypothetical saved-trip tool, a completion email might say: “Your weekend packing list is ready,” followed by the trip name, a view-list action and an explanation of whether signing in is required. Avoid placing sensitive trip details in a subject line. The link should lead to the correct person’s authorized view, not make a private list public merely to avoid login.

A prompt to adapt

Select and copy this brief, then replace the details with your own.

Draft an on-brand transactional email for a packing-list tool after a list is successfully saved. Include subject, preheader, concise heading, one main button, a text-link fallback, a support reply path and a plain-text version. Do not say the person joined a newsletter. Do not include private travel dates in the subject. Identify which template values must be escaped and which URL must be generated by the trusted backend.

Send after the event really happened

Trigger the welcome or completion message after the relevant durable account or product event succeeds. A form click is too early if saving might fail. When a provider webhook retries, your backend should recognize an already handled event so one signup does not produce several welcome emails. Keep credentials on the server.

Store enough delivery state to troubleshoot without copying unnecessary private content into logs. Distinguish queued, provider-accepted, delivered, bounced and complained where those states are available. A successful API response is useful evidence that the provider accepted a request; it is not proof that the person read it or that it reached their inbox.

Test the message as a recipient

Create a real test event using an address you control. Open the message on a phone and a desktop. Check the sender, subject, images, text alternative, button and reply path. Follow the link signed out as well as signed in. If the link expires, explain the recovery path instead of leaving someone with an unexplained error.

For an optional digest, subscribe, receive the intended test message, unsubscribe and verify the preference changes. Confirm that the next audience selection excludes that address. Keep necessary account mail separate from the optional list. Only schedule a weekly digest when you have a reliable content source, a useful editorial promise and a way to stop an empty or broken issue.

Before you move on

  • The required email jobs are written down.
  • The sending domain is verified and receiving/replies are configured.
  • Templates have a clear action and a plain-text alternative.
  • Retries do not create duplicate welcome messages.
  • A real message arrives with correct live links.
  • Optional updates have a tested unsubscribe preference.

Sources

Official documentation and original sources used for this guide. Product features and availability can change; check the linked source before choosing a plan or publishing.

  1. Resend domain verification and receiving resend.com
  2. Clerk Google account connection clerk.com
  3. Supabase row-level security supabase.com

Work to explore

Examples from the directory. Their inclusion does not imply the creators used this guide or a particular tool.

Meet the creators

Made something worth trying?

Bring your links and projects together in one place.

Create your profile