Sending Apple Private Relay email is different from sending to an ordinary mailbox: a valid-looking recipient address is not enough. To reach an address ending in @privaterelay.appleid.com, your application must be the app or website associated with that relay address, and your sending identity must be registered and authenticated correctly.
This guide explains what Apple’s Private Email Relay is, how sender authorization works, how SPF and DKIM are evaluated, what to register, how to diagnose SMTP bounces, and how to make relay delivery part of a reliable transactional-email system.
What Apple Private Email Relay is — and what it is not
Apple’s Private Email Relay is the email-forwarding service used when someone selects Hide My Email while signing up through Sign in with Apple. Instead of sharing their personal mailbox, the person can give your app or website a unique address in the @privaterelay.appleid.com domain. Apple forwards messages sent by the authorized app or website to the user’s verified personal inbox.
That last phrase matters: the relay alias is scoped to the app or website that created it. It is not a universally usable alternative address that any sender can mail. If another business, unrelated product, or unregistered sender tries to use it, Apple can reject the message even when the recipient syntax is correct.
Do not confuse Private Email Relay with iCloud Private Relay, Apple’s browsing-privacy feature for Safari traffic and DNS resolution. The two features have similar names but solve different problems. iCloud Private Relay concerns web browsing; Private Email Relay concerns messages sent to Hide My Email addresses associated with Sign in with Apple.
For an email sender, think of the relay alias as an application-bound forwarding route:
- A user chooses Hide My Email during Sign in with Apple.
- Your application receives and stores the generated relay address.
- Your application sends account-related email to that address.
- Apple checks whether the source is authorized and authenticated.
- If accepted, Apple forwards the message to the user’s destination inbox.
A successful SMTP handoff to your email provider does not prove that Apple accepted the message. Your provider may accept the API request or SMTP submission first, then later receive a downstream rejection from Apple’s relay. Treat provider acceptance, remote acceptance, and final forwarding as separate delivery stages.
Why sending Apple Private Relay email fails so often
Most relay failures are not caused by HTML, templates, or a missing recipient MX record. They happen because the sender identity visible to Apple does not match the identity registered for the Sign in with Apple configuration.
There are three identities developers frequently confuse:
| Identity | Example | Why it matters |
|---|---|---|
| Header From address | Billing <billing@example.com> | What the recipient sees in their mail client. |
| Envelope sender / MAIL FROM / Return-Path | bounces@send.example.com | Used for SMTP delivery and SPF evaluation. |
| DKIM signing domain | d=example.com | The domain cryptographically asserting responsibility for the message. |
A normal email setup can work well at Gmail, Outlook, and other mailbox providers while still failing at Apple Private Email Relay. For example, your visible From address may be support@example.com, while your email service provider uses bounce@provider-mail.example as the envelope sender. If you depend on SPF alone, Apple cannot match your registered domain to that provider-owned envelope domain.
The durable answer is not to guess which address Apple sees. Capture a real delivered message from a non-relay test mailbox, inspect its raw headers, and identify all three values: header From, Return-Path, and DKIM d=. Then configure registration and authentication around the values your provider actually sends.
Prerequisites before you send to a relay alias
Before writing retry logic or editing DNS, confirm that you have the correct application and recipient relationship. Private relay delivery is an authorization problem as much as a deliverability problem.
Confirm that the address came from your Sign in with Apple flow
A relay recipient should have been returned as part of the Sign in with Apple account-creation or authentication process for your app or website. Store it against the same internal user record and product context that received it.
Do not assume that every @privaterelay.appleid.com address belongs to your product. A customer might copy an alias created for another app into a form, import it from a CRM, or send it to support. It may be a real Apple relay address, but your application is still not authorized to send through that alias.
Your database should retain enough context to answer these questions later:
- Which Apple app or web service created this account?
- Did the user choose Hide My Email or disclose a regular address?
- When was the email address last confirmed by a successful account flow?
- Which message types are permitted for that account: security, receipts, support, product notices, or marketing?
- Has a relay-specific hard bounce occurred since the address was stored?
Treat the address as an opaque identifier. Preserve the exact value received from Apple, especially its local part. Avoid stripping characters, applying plus-address normalization, or deduplicating it against a personal mailbox that you cannot see.
Register every domain, subdomain, or individual address you use
Apple requires outbound email sources to be registered for Private Email Relay. A source can be a domain, a subdomain, or an individual email address. Registration is exact enough that example.com, sales.example.com, and help.example.com should be planned as separate sending identities when you use them separately.
This catches a common production mistake: the team registers example.com, then a support platform begins sending as help@example.com, or an event system begins sending as events@notify.example.com. The new source can fail authorization because it is not the source that was registered and verified.
Register the broadest domain scope that matches your operational model, but do not register domains you do not control. If you send from an address on a domain controlled by another organization, Apple’s configuration supports registering that individual source address instead of pretending to own the whole domain.
Keep source changes in your release process
Changing a From address is not merely a template edit when relay users are involved. It can require:
- Publishing or changing SPF and DKIM DNS records.
- Confirming the provider uses the new domain for signing or custom MAIL FROM.
- Registering the source domain, subdomain, or address with Apple.
- Waiting for DNS to propagate and validation to succeed.
- Sending a relay test before production traffic switches over.
Make this a deployment checklist. A brand refresh, new regional sender domain, support-platform migration, or acquisition can otherwise create a sudden cluster of relay-only bounces.
Authenticate the actual sending path with SPF and DKIM
Apple’s guidance permits authentication using SPF and/or DKIM, but using both is the practical choice. SPF confirms that the server is allowed to send for the envelope domain. DKIM verifies a signed message and associates that signature with a domain. Together, they provide resilience when your provider’s envelope sender differs from your visible From domain.
SPF: authorize the envelope sender’s infrastructure
SPF is a DNS TXT record that says which hosts or services may send mail for a domain. Receivers evaluate SPF against the SMTP envelope sender, commonly exposed after delivery in the Return-Path header, rather than the visible From header.
A simple SPF record for a provider that documents an include: mechanism has this form:
example.com. IN TXT "v=spf1 include:sendgrid.net ~all"
Apple documents this syntax as an example for a SendGrid-based setup. Equivalent provider instructions may use a different include domain, explicit ip4: addresses, a custom return-path subdomain, or a DNS record generated uniquely for your account. Follow your provider’s official domain-authentication instructions rather than copying an include value for a service you do not use.
An Amazon SES-style example published by Apple is:
example.com. IN TXT "v=spf1 include:amazonses.com ~all"
The syntax is real, but the policy at the end deserves thought. ~all is a soft fail and -all is a hard fail. Neither suffix repairs a missing authorized sender. Start by accurately listing every legitimate sender, validate the record, and only then choose the enforcement posture that fits your full mail environment.
You must have one SPF record per domain, not one TXT record per sending vendor. If Google Workspace, a ticketing system, and a transactional platform all send mail for the same envelope domain, combine their authorized mechanisms into one record, for example:
example.com. IN TXT "v=spf1 include:_spf.google.com include:spf.transactional-provider.example ~all"
That example uses a placeholder provider domain; never publish it literally. Replace it with the exact mechanism supplied by your provider.
Also watch SPF’s DNS-lookup limit. Nested include, a, mx, redirect, and exists mechanisms can consume lookups. An SPF evaluation that exceeds the limit can return permerror, turning an apparently complete record into an authentication failure. Check the expanded lookup count after every vendor addition, not only the visible length of the TXT record.
DKIM: sign with the same domain your user sees
DKIM adds a DKIM-Signature header to the message. The sender signs selected headers and body content using a private key; receiving servers retrieve the public key from DNS. The signature includes a d= value, such as d=example.com, that identifies the signing domain.
For Private Email Relay, DKIM is especially useful when your provider uses its own domain as the envelope sender. Apple’s documented DKIM path checks that the signature passes, includes the From header, and that the DKIM signing domain exactly matches the domain in the visible From address that you registered.
A DKIM DNS record normally appears at a selector-specific hostname:
selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=PUBLIC_KEY_MATERIAL"
Some providers ask you to create CNAME records instead, delegating the selector to provider-hosted DKIM keys. Both patterns are legitimate. Do not invent the selector, target, or key yourself: copy the complete record name and value displayed by the service that is actually signing your messages.
For a relay-safe message, inspect the delivered headers and look for a result conceptually like this:
From: Billing <billing@example.com>
Return-Path: <bounce@provider-mail.example>
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector1; ...
Authentication-Results: ... dkim=pass header.d=example.com
Here, SPF might evaluate against provider-mail.example, which does not match your registered From domain. DKIM still provides the aligned identity because d=example.com matches billing@example.com’s domain. This is why DKIM should not be treated as optional merely because SPF passes elsewhere.
DMARC: not Apple relay authorization, but still essential
DMARC builds on SPF and DKIM by checking alignment with the visible From domain and publishing a receiver policy. It is not a substitute for Apple source registration, but it is essential for domain protection, observability, and consistent authentication across providers.
A cautious monitoring record might look like this:
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=s; aspf=s; pct=100"
With p=none, receivers are asked to report rather than quarantine or reject solely from DMARC policy. The strict adkim=s and aspf=s settings require exact-domain alignment, so use them only when your mail architecture is ready for them. Analyze aggregate reports before escalating a production policy to quarantine or reject.
Register the right Apple email sources
Authentication proves that a domain is technically allowed to send. Apple source registration also proves that the domain, subdomain, or individual address is intentionally associated with your Sign in with Apple setup.
The exact account screens can change, but Apple’s current developer documentation describes configuring Private Email Relay email sources in the Apple Developer account area for Sign in with Apple email communication. You register the outbound domains, subdomains, or individual addresses that will communicate with relay users, then review whether the source passes its SPF check.
The important design rule is exactness. Consider this set of senders:
support@example.com
receipts@example.com
status@notify.example.com
alerts@ops.example.com
A reliable registration plan is either:
- register
example.com,notify.example.com, andops.example.com; or - register the individual addresses if domain-level registration is not appropriate.
Registering only example.com should not be treated as permission for every possible subdomain. Plan subdomains explicitly, including custom return-path domains if your provider uses them for SPF-based authorization.
Apple also limits the number of email sources by developer-account type, so avoid burning entries on abandoned experiments. Maintain an inventory that identifies each registered source, owner, email provider, SPF record, DKIM selector, business purpose, and application environment.
Sending through SMTP or a REST API
Your submission method does not change Apple’s downstream requirements. Whether your application sends via a REST API or an SMTP relay, the provider still creates an SMTP message with envelope and header identities that Apple can evaluate.
SMTP relay considerations
An SMTP transaction separates the envelope from the message headers:
MAIL FROM:<bounce@send.example.com>
RCPT TO:<abc123@privaterelay.appleid.com>
DATA
From: Product Team <updates@example.com>
To: <abc123@privaterelay.appleid.com>
Subject: Your verification code
Your code is 123456.
.
The MAIL FROM value drives bounce routing and SPF evaluation. The From: header drives recipient display and DKIM/DMARC alignment. Do not assume they are the same just because your application has one from setting.
A 250 SMTP response means the server at that stage accepted the command or message. It does not mean the recipient read it, Apple forwarded it, or the final mailbox accepted it. Store provider event data and delivery webhooks so your system can distinguish submitted, accepted, deferred, bounced, and delivered states.
REST API considerations
Most transactional APIs accept a JSON payload containing fields such as sender, recipients, subject, HTML, text, tags, and custom headers. Their exact field names and response formats vary, so use your provider’s current API reference rather than adapting a payload from another vendor. If you are integrating a platform that supports both delivery methods, keep the application-level sending logic independent from the provider transport; email API setup guides are useful for confirming the correct REST or SMTP configuration for the service you use.
The key questions are the same for an API send as for SMTP:
- Which domain is used in the visible From address?
- Which domain is used as the envelope sender or return path?
- Which
d=domain signs DKIM? - Are all relevant sources registered with Apple?
- Does the specific recipient alias belong to this app or website?
Avoid treating API success responses as delivery confirmation. An API may return an accepted or queued result before the sender’s infrastructure attempts remote delivery. Correlate the provider message ID with later webhook events and the raw bounce reason.
Preserve reply behavior intentionally
Apple can route replies back to the email address used in the original message, transforming it into a relay-readable form for the recipient. That does not eliminate the need to configure reply handling. Use a monitored Reply-To or From mailbox, preserve message identifiers, and make sure support staff understand that the visible relay-related address may not look like the customer’s real mailbox.
For high-value flows such as account recovery, invoices, and security alerts, send a plain-text alternative, avoid link-only instructions, and include a clear support route. Forwarding chains and spam filtering can make fragile, image-heavy messages less reliable than a concise transactional email.
Test before production and inspect the evidence
Testing should verify configuration, not merely prove that your code can call an API. Ideally, use a real test account that has created a relay alias for your development or staging application, then send representative messages from every intended source domain.
A practical verification sequence
- Publish SPF, DKIM, and DMARC records in DNS.
- Query public DNS directly to make sure the intended records are visible.
- Complete Apple source registration and wait until its validation reflects the expected state.
- Send a message to a normal mailbox you control and inspect raw headers.
- Confirm SPF passes for the envelope domain and DKIM passes for the intended
d=domain. - Send the same message to a relay alias generated by your own Sign in with Apple application.
- Record the provider event, SMTP response, relay outcome, and final inbox result.
- Repeat using every production From domain, subdomain, and provider route.
Useful command-line checks include:
dig +short TXT example.com
dig +short TXT selector1._domainkey.example.com
dig +short TXT _dmarc.example.com
On Windows, you can use:
nslookup -type=txt example.com
nslookup -type=txt selector1._domainkey.example.com
For external checks, MXToolbox can help inspect DNS and authentication records, while mail-tester.com can score a message for malformed content, spam signals, and common mail-server configuration problems. Send a normal test message there first; it cannot prove that a particular Apple relay alias is authorized for your app.
Use a free email verification tool for general address-quality checks at collection time, but do not rely on validation alone for relay authorization. The only meaningful proof that an Apple relay address can receive your app’s mail is a legitimate send from the properly configured application and the resulting delivery or bounce event.
Inspect raw message headers, not just dashboards
Provider dashboards summarize delivery, but raw headers reveal the evidence Apple and other mailbox systems evaluate. In a test mailbox, locate the original source and search for:
Return-Path:
From:
DKIM-Signature:
Authentication-Results:
Received:
Message-ID:
You want to identify the exact envelope domain, the DKIM d= domain, the DKIM selector, and the pass/fail results. If the message contains multiple DKIM signatures, determine which one aligns with your From domain. A provider signature using its own shared domain may pass cryptographically but not satisfy Apple’s matching requirement for your registered sender identity.
Troubleshoot Apple relay bounces by response, not guesswork
A bounce is useful only when you retain the complete response: SMTP code, enhanced status code, remote message, timestamp, sending IP or provider route, From domain, envelope domain, and recipient domain. Avoid categorizing every 550 as a generic invalid email address.
550 5.1.1 unauthorized sender
Apple Developer Support has identified 550 5.1.1 unauthorized sender as an authorization and authentication configuration issue. Common causes include an unregistered source, an SPF failure, a DKIM failure, a mismatch between the registered domain and the actual envelope domain, or a DKIM d= domain that does not exactly match the visible From domain.
Work through this order:
- Confirm the From domain, Return-Path domain, and DKIM
d=from real headers. - Confirm SPF passes for the envelope sender domain.
- Confirm DKIM passes and signs the From header.
- Confirm the DKIM
d=value exactly matches the registered From domain when relying on DKIM. - Confirm every source domain or subdomain is registered with Apple.
- Confirm the recipient alias was created for your own app or website.
Do not keep retrying an authorization failure. Retries do not create a missing registration or repair DNS. Suppress the individual message, fix the configuration, then send a deliberate new test.
550 5.1.1 unknown user
For a Private Email Relay recipient, an unknown user response can mean that the user disabled forwarding for your client. It may also reflect an invalid or no-longer-active alias. Treat it as a recipient-level permanent failure for that application context: stop automatic retries and mark the relay address as undeliverable.
Do not automatically replace it with another address, because the relay alias exists specifically to prevent your service from learning the underlying mailbox. Ask the user, through an authenticated product session or another consented channel, to update their contact preference.
Temporary failures such as 421 and 451
SMTP replies beginning with 4 are generally temporary failures. 421 may indicate a service or connection issue; 451 commonly indicates a temporary local processing issue. The human-readable response is still decisive, because providers can use the same broad codes for rate limits, reputation controls, maintenance, or policy deferrals.
Use exponential backoff with jitter and a maximum retry window appropriate to the message type. A password-reset email should retry sooner and expire faster than a monthly digest. Never turn a temporary failure into unlimited retries: repeated attempts after a persistent policy deferral can increase reputation risk and delay more important mail.
5.7.x authentication or policy failures
Enhanced status codes in the 5.7.x range often indicate security, authentication, or policy restrictions. Read the entire bounce text before deciding whether the issue is SPF, DKIM, DMARC, reputation, content, or recipient authorization. Your provider’s event payload may preserve a more useful remote response than the short status shown in a dashboard.
If only Apple relay recipients fail while ordinary recipients succeed, prioritize source registration and alignment checks before changing message copy. If multiple mailbox providers reject the same stream, widen the investigation to DNS, IP/domain reputation, complaint rates, list quality, links, and sending behavior.
Deliverability practices that matter after authorization
Passing Apple’s source checks is necessary, not a blanket inbox-placement guarantee. The relay still performs standard spam filtering, and Apple states that it applies that filtering to maintain trusted email service. The same fundamentals that protect delivery elsewhere still matter.
Separate transactional and promotional streams
Password resets, receipts, verification codes, and security alerts have different urgency and recipient expectations than newsletters or lifecycle campaigns. Separate them by provider configuration, domain or subdomain where appropriate, tags, analytics, and suppression policies.
A sensible pattern is:
receipts@example.com — transactional receipts
security@example.com — login and recovery notices
updates@news.example.com — opted-in product announcements
The right separation depends on volume, infrastructure, and brand architecture. The goal is not to create needless domains; it is to prevent lower-engagement promotional traffic from obscuring the health of essential account email.
Send only expected messages
A relay address does not create consent for every email category. Respect the context in which the user created the account, store preferences separately from identity data, and provide working unsubscribe mechanisms where marketing laws and your message category require them.
Keep transaction messages recognizably tied to the product and action that caused them. A receipt should say what was purchased; a confirmation should say what is being confirmed; a security notice should identify the account event. Ambiguous email creates user confusion, spam complaints, and support tickets even when authentication is flawless.
Maintain clean suppression data
Store hard bounces at the recipient and source level. A relay alias that returns an Apple unknown user failure should not receive repeated automated sends. Keep the original remote response so you can distinguish recipient deactivation from sender misconfiguration.
For new signups, reduce bad data before the first send with clear form UX, confirmation flows where appropriate, and syntax/domain checks. But do not attempt to discover a relay user’s real mailbox or use third-party enrichment to work around the privacy boundary.
Build relay support into your email operations
The most reliable teams treat Private Email Relay as a known recipient type with explicit observability, rather than as a special case discovered during an incident.
Track these metrics by recipient domain category:
- submitted messages
- provider-accepted messages
- remote accepts
- deferrals and retry age
- hard bounces by enhanced SMTP code
- authentication-related rejections
- delivery events where available
- complaint, unsubscribe, and engagement signals for permitted marketing mail
Add an alert for a rise in bounces to privaterelay.appleid.com, especially 550 5.1.1 unauthorized sender. A sudden increase often follows a source-domain change, a provider migration, a missing DKIM record, an accidental switch to a provider-owned return path, or an Apple registration omission.
Document ownership as well. Engineering may own the API integration, platform operations may own DNS, a security team may own DMARC, and product or identity teams may own Sign in with Apple configuration. A single runbook should say who can inspect headers, edit DNS, register sources, review provider event logs, and validate a fix with a test relay account.
Conclusion
Sending Apple Private Relay email successfully requires more than a valid recipient address and a successful API call. Your app must be the one associated with the relay alias, your outbound source must be registered with Apple, and the actual message path must pass the relevant SPF and/or DKIM checks.
Start with facts from a real delivered message: visible From domain, envelope sender domain, DKIM d= domain, and authentication results. Register every sender source you use, test each route with a relay alias created for your own app, retain complete bounce responses, and treat authorization failures as configuration issues rather than retry candidates. That approach makes Private Email Relay a predictable part of transactional-email operations instead of an intermittent mystery.
FAQ
Can any business email an @privaterelay.appleid.com address?
No. The relay address is tied to the app or website that created it through Sign in with Apple. Apple forwards messages only from designated, authorized sources associated with that app or website.
Is SPF alone enough for Apple Private Email Relay?
Apple supports SPF and/or DKIM, but SPF alone can be fragile when your provider uses a provider-owned envelope sender. Configure both SPF and DKIM, then verify the exact envelope domain and DKIM signing domain in raw headers.
Why does email work for Gmail but bounce at Apple Private Relay?
Apple Private Email Relay adds source-registration and identity-matching checks. Your message may be generally deliverable while still failing because the actual sender domain, subdomain, envelope sender, or DKIM d= value is not registered or aligned as Apple expects.
What should I do with 550 5.1.1 unauthorized sender?
Stop retries and inspect the full bounce. Verify the recipient belongs to your app, confirm the outbound source is registered, check SPF for the envelope domain, and confirm a passing DKIM signature with the correct aligned d= domain.
Should I delete a relay address after 550 5.1.1 unknown user?
Stop sending to it automatically and mark it undeliverable for that user and app context. The user may have disabled forwarding or the alias may no longer be active; ask them to update contact details through an authenticated product flow instead of trying to infer their private address.