# An email did not arrive

> Find a sign-in code that did not come, or an email your Cloud app sent that never reached its inbox - and what to change in each case.
> Source: https://playcode.io/docs/help/email-did-not-arrive - last reviewed 2026-10-09.
> Ask Playcode's agent: "The welcome email to anna@example.com did not arrive. Find out why." It reads the message's status and the reason Playcode recorded, and tells you the fix; verifying an address or a domain stays with you.

Sign-in codes often land in the Spam folder, or go to a mistyped address. An email from your Cloud app that does not arrive was held or stored by Playcode for a reason, or it never left your app: **Settings**, **Email** and the agent show which. Find your case below.

### A sign-in code did not arrive

The email comes from Playcode, with the subject "Your Playcode sign-in code", or "Your Playcode sign-up code" for a new account. The app says: "Your code is probably in Spam".

1. Open your Spam or Junk folder, find the email from Playcode and mark it as not spam, so the next one lands in your inbox. In Gmail, open Spam and tap **Report not spam**.
2. Check the address under "Check your email". If it is wrong, choose **Change email**.
3. Choose **Send a new code**, and use the code from the latest email. A new code replaces the old one.
4. If no code comes, choose **Use another sign-in method** and continue with Google, Microsoft or GitHub.

Each code expires after 10 minutes, and 5 wrong tries end it: request a new one. For more, see [I cannot sign in](/docs/help/cannot-sign-in).

### "Too many attempts. Please wait a moment and try again."

Playcode accepts 5 code requests in 5 minutes from one network. Wait 5 minutes, then choose **Send a new code** once.

### A "Confirm it's you" code did not arrive

Before some actions, Playcode asks for a fresh code: "This action needs a fresh sign-in. We sent a code to" your address. The email has the subject "Your Playcode confirmation code". Look in Spam, then choose **Send a new code**.

### Your Cloud app's email: Settings shows "Capture"

**Settings**, **Email** says "Every email is captured and stored - nothing reaches a real inbox." The workspace has no Pro or Max plan, so Playcode keeps the mail and delivers none of it: "Delivery is included from Pro." Upgrade, and the app starts delivering. A cancelled plan stops delivery the same way.

### Your Cloud app's email: the recipient is not verified

In **Sending** mode, the app delivers "To your verified recipients". Mail to any other address is held, and **Settings**, **Email** counts it, like "1 message held".

1. In **Settings**, **Email**, type the address under **Notifications** and choose **Send verification**. Playcode emails it a link to confirm; the link works for 24 hours.
2. When the address shows **Verified**, choose the button that delivers its held mail, like **Deliver 3 held**.

Your team members' sign-in addresses are verified already. A project can verify up to 10 other addresses. To email your customers, verify your own sending domain under **Send as your brand**: the mode then reads **Sending · to anyone**. See [Send from your own domain](/docs/add-to-your-app/sending-domain).

### Your Cloud app's email: the address shows Suppressed

The pane says: "Blocked after a bounce or a spam report. Mail to this address is captured, not sent." Fix the address, or ask its owner, then choose **Remove**: "Removing it clears the block - add it back once the address is fixed, and it will need to confirm again." If the person unsubscribed, removing the address does not undo that.

### Your Cloud app's email: sending is paused

The pane says "Sending was paused automatically", with the reason. Playcode pauses an app that sends the same email over and over, like a loop in its code, or that gets too many bounces or spam reports. New emails are stored as Withheld and are never sent later. Ask the agent to find and fix the cause, then choose **Resume sending**.

### Your Cloud app's email: the workspace is out of credits

Emails past the plan's included amount cost credits. At zero credits, Playcode stores such an email with the reason "out of credits - add credits to deliver". Emails within the included amount, and emails to your team, still go out. Add credits; see [Plans and credits on one page](/docs/start/plans-and-credits).

### Your Cloud app's email arrived without its attachment

Playcode delivers email without attachments. Put the file behind a link in the email instead.

### Your Cloud app's email is not there at all

If Playcode has no record of the email, the app never sent it. Ask the agent: it reads the app's sent emails with their status and reason, and finds where the app's code stopped.

For how app email works, see [Send email from your app](/docs/add-to-your-app/send-email) and [What your app may send](/docs/add-to-your-app/what-your-app-may-send).
