Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.
Configure DNS records provided by OneSignal to authenticate your sending domain. In most cases, DNS can be auto-configured from the OneSignal dashboard as described in the Email setup guide. Use this page when you need to add records manually.
If you don’t own a domain, we recommend purchasing one via Cloudflare. This guide uses Cloudflare as an example, but most DNS providers work the same way.
Registering your domain with Cloudflare
Create an account at Cloudflare.com.Go to Domain Registration > Register Domains.
Cloudflare domain registration page
Search for an available name and purchase it.
Cloudflare domain purchase page
Once purchased, your domain will appear under Domain Registration > Managed Domains.
Complete the Email setup steps until you’re prompted to add DNS records, then return here or use the Auto-Configure DNS button.From the OneSignal dashboard:
⚠️ means the current DNS record does not match
✅ means the current DNS record matches
Each DNS record needs to be added to your DNS provider. The exception is the MX record. You must have MX records configured, but they may point to a different mail server (e.g., Gmail).
Copy DNS records from OneSignal into your DNS provider
In your DNS provider’s interface (e.g., Cloudflare), go to DNS > Records and add each record.
If you already have an SPF TXT record, do not create a second one. Append additional include: directives to the existing record:v=spf1 include:spf.onesignal.email include:mailgun.org include:your-other-spf-records ~all
OneSignal uses the value v=DMARC1; p=none; for the DMARC record. If you already have a DMARC record, do not add a duplicate. Verify the existing record includes this policy or a stricter one (e.g., p=quarantine or p=reject).
If you need to comply with regulations that require per-recipient consent for open tracking (for example, France’s CNIL guidance), you can omit the tracking CNAME on a dedicated no-tracking sender. See Open-tracking pixel consent for the full workaround.
Type:CNAME
Name: OneSignal “Hostname”
Target: OneSignal “Value”
TTL: Auto or lowest
If using Cloudflare, set Proxy to “DNS only” and Flattening to “Off” for CNAME records. Other DNS providers typically do not require these settings.
Verifies the message content was not altered and was sent by you. The public key is included in the CNAME DNS record provided by OneSignal.We list two DKIM records and require that both be created, though initially only one is active and used for sending email. In the event that the primary record needs to be retired, we will enable the secondary record to be used.
Verified records show ✅. All records should be verified except MX, which may show ⚠️ if it points to a different mail server (e.g., Google Workspace). This is expected and acceptable.
Verified DNS records in the OneSignal dashboard
Verification typically takes a few minutes but can take up to 48 hours.
You likely have an existing SPF record. You should only have one SPF TXT record. Append additional include: directives to its value. See the TXT records section above.
DNS not fully propagated
If whatsmydns.net shows a mix of ✅ and ❌, the records have not fully propagated. This can take up to 48 hours. Wait and check again, or contact your DNS provider.
DNS value not matching OneSignal
If the values on whatsmydns.net don’t match what OneSignal provides:
MX records pointing elsewhere (e.g., Google Mail) are expected. This is fine as long as they show ✅ on whatsmydns.net.
Verify the hostname is correct. mail.yourdomain.com is not the same as yourdomain.com.
Verification typically completes within minutes, but DNS propagation can take up to 48 hours depending on your provider and TTL settings. Use whatsmydns.net to check progress.
Do not create duplicate records. For SPF, append OneSignal’s include:spf.onesignal.email to your existing SPF TXT record. For DMARC, verify your existing record includes v=DMARC1; p=none; or a stricter policy.
MX records help avoid domain verification errors even for send-only configurations. If you already use a mail provider like Gmail or Google Workspace, keep your existing MX records. You do not need to overwrite them with OneSignal’s values.
My SPF record looks correct on external DNS checkers, but OneSignal still shows a warning. What should I check?
External DNS checkers confirm that a TXT record exists for your domain, but they do not verify that its value matches what OneSignal expects. A record can exist and still fail OneSignal’s check if the value is wrong or incomplete.To diagnose the mismatch:
In the OneSignal dashboard, find the SPF record showing a warning and note the exact Hostname and Value shown.
Open your DNS provider and locate the TXT record for that hostname.
Compare the record value character-for-character against what OneSignal shows.
If you send email exclusively through OneSignal with no other email providers, the minimal valid SPF value is:v=spf1 include:spf.onesignal.email ~allIf you use other senders, append their include: directives to the same record rather than creating a second SPF record. See What if I already have SPF or DMARC records? above.
Return to Email setup to complete configuration and begin sending emails.
Complete email channel setup including provider selection and auto-DNS configuration.
Senders
Manage sending domains, reply-to addresses, and sender identities.
Email warm-up
Gradually increase email volume to build sender reputation and improve deliverability.
Email messaging
Compose and send email campaigns with templates, personalization, and scheduling.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal Documentation","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4cdb2d820fd504cae19ee","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"User Guides","count":204},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/en/email-dns-configuration","slug":"/docs/en/email-dns-configuration","pageMetadata":{"title":"Email DNS configuration","description":"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.","keywords":["DNS setup","SPF","DKIM","DMARC","CNAME","MX","TXT"],"href":"/docs/en/email-dns-configuration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,Check,Columns,Frame,Heading,Note,OptimizedImage,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!Check)_missingMdxReference(`Check`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Configure DNS records provided by OneSignal to authenticate your sending domain. In most cases, DNS can be auto-configured from the OneSignal dashboard as described in the `,_jsx(_components.a,{href:`/docs/en/email-setup`,children:`Email setup`}),` guide. Use this page when you need to add records manually.`]}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsx(_components.p,{children:`To manually configure DNS records, you must:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Own the sending domain.`}),`\n`,_jsx(_components.li,{children:`Have access to DNS settings via your provider.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If you don’t own a domain, we recommend purchasing one via Cloudflare. This guide uses Cloudflare as an example, but most DNS providers work the same way.`}),`\n`,_jsxs(Accordion,{title:`Registering your domain with Cloudflare`,icon:`circle-chevron-down`,id:`registering-your-domain-with-cloudflare`,children:[_jsxs(_components.p,{children:[`Create an account at `,_jsx(_components.a,{href:`https://www.cloudflare.com/`,children:`Cloudflare.com`}),`.`]}),_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Domain Registration > Register Domains`}),`.`]}),_jsx(Frame,{caption:`Cloudflare domain registration page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=327f5030dcc96a69aacf608556573bad`,alt:`Cloudflare dashboard showing the Register Domains page`,\"data-og-width\":`1300`,width:`1300`,\"data-og-height\":`775`,height:`775`,\"data-path\":`images/docs/738ee09-Register_a_Domain.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=280\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=3dee7b5300af9f939f5f4dd1ea26c968 280w, https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=560\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=316464dfc2cee740a74207b06f1b5432 560w, https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=840\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=05959ae1d1f549b299f177a02a600abb 840w, https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=95f6b534add7badc0978ca88ea162c15 1100w, https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=7255b899820d5a78df4cbca2f92f5269 1650w, https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/738ee09-Register_a_Domain.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jBdBk5XvQR5eKOks\u0026q=85\u0026s=ec6a8a9a509aaf84018b366572093c4b 2500w`})}),_jsx(_components.p,{children:`Search for an available name and purchase it.`}),_jsx(Frame,{caption:`Cloudflare domain purchase page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=b81467e17066a8937256778554c2d014`,alt:`Cloudflare domain search results with purchase option`,\"data-og-width\":`1386`,width:`1386`,\"data-og-height\":`542`,height:`542`,\"data-path\":`images/docs/914f661-Purchase_Domain.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=280\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=921ef91c1d391ceba05596f8ae7b276b 280w, https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=560\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=33c51665e47414b0c9db0a50edd17fd0 560w, https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=840\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=0cd3b9024dafb95441dd69e755747c43 840w, https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=27db4030c780957cb35caeb14d9b41a3 1100w, https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=f7fcd3ad14658182bef72587bd2ff3cf 1650w, https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/914f661-Purchase_Domain.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tc0EvmtSSX56SX0c\u0026q=85\u0026s=3e61399906ee82ce3c742fec8aa64fda 2500w`})}),_jsxs(_components.p,{children:[`Once purchased, your domain will appear under `,_jsx(_components.strong,{children:`Domain Registration > Managed Domains`}),`.`]}),_jsx(Frame,{caption:`Cloudflare managed domains page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=a3354c52a0f2442467d289d9e8071872`,alt:`Cloudflare managed domains list showing the active domain`,\"data-og-width\":`1303`,width:`1303`,\"data-og-height\":`817`,height:`817`,\"data-path\":`images/docs/64857b3-Domain_Active.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=280\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=91f730866012f96a38e5f8f95b436d89 280w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=560\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=c879d4732a57a9bae77ae47110134815 560w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=840\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=f021662689577f4b685563e698ae1233 840w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=1100\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=0381a1c92bbd948b4cac055473d02a0b 1100w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=1650\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=731d117575b68f8db72210d77bf5d5ed 1650w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64857b3-Domain_Active.png?w=2500\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=579070a9c016f172769ba94cb010507e 2500w`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`add-dns-records`,children:`Add DNS records`}),`\n`,_jsxs(_components.p,{children:[`Complete the `,_jsx(_components.a,{href:`/docs/en/email-setup`,children:`Email setup`}),` steps until you’re prompted to add DNS records, then return here or use the `,_jsx(_components.strong,{children:`Auto-Configure DNS`}),` button.`]}),`\n`,_jsx(_components.p,{children:`From the OneSignal dashboard:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`⚠️ means the current DNS record does not match`}),`\n`,_jsx(_components.li,{children:`✅ means the current DNS record matches`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each DNS record needs to be added to your DNS provider. The exception is the MX record. You must have MX records configured, but they may point to a different mail server (e.g., Gmail).`}),`\n`,_jsx(Frame,{caption:`Copy DNS records from OneSignal into your DNS provider`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=826b4fdef6343099bc3063dbf0dc6667`,alt:`OneSignal dashboard showing DNS records to copy into your provider`,\"data-og-width\":`991`,width:`991`,\"data-og-height\":`760`,height:`760`,\"data-path\":`images/dashboard/dns-manual-configure.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=280\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=40c96ce639ef927d87f553a59950e73c 280w, https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=560\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=8e0179261c08c0a8eb92c7723727cc6c 560w, https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=840\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=4e72350617f7f90336e60e692d2a4201 840w, https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=1100\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=04d01c5423220837955229cdc717c56a 1100w, https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=1650\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=b04f5eee0682bc52947da66b505a63ba 1650w, https://mintcdn.com/onesignal/TrjGYudL1B3K9oZG/images/dashboard/dns-manual-configure.png?w=2500\u0026fit=max\u0026auto=format\u0026n=TrjGYudL1B3K9oZG\u0026q=85\u0026s=b2f4c3489ebed6dac1ffbd10906c55e8 2500w`})}),`\n`,_jsxs(_components.p,{children:[`In your DNS provider’s interface (e.g., Cloudflare), go to `,_jsx(_components.strong,{children:`DNS > Records`}),` and add each record.`]}),`\n`,_jsx(Heading,{level:`3`,id:`txt-records`,children:`TXT records`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Type:`}),` `,_jsx(_components.code,{children:`TXT`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name:`}),` OneSignal “Hostname”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Content:`}),` OneSignal “Value”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`TTL:`}),` Auto or lowest`]}),`\n`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`If you already have an SPF TXT record, do not create a second one. Append additional `,_jsx(_components.code,{children:`include:`}),` directives to the existing record:`]}),_jsx(_components.p,{children:_jsx(_components.code,{children:`v=spf1 include:spf.onesignal.email include:mailgun.org include:your-other-spf-records ~all`})})]}),`\n`,_jsx(Frame,{caption:`TXT DNS record interface in Cloudflare`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=73f5e5388f8b6d5f3728aed32f03741a`,alt:`Cloudflare interface for adding a TXT DNS record with hostname and value fields`,\"data-og-width\":`2540`,width:`2540`,\"data-og-height\":`1062`,height:`1062`,\"data-path\":`images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=280\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=e25fa23dee83326c25eb59a8c4f87cdd 280w, https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=560\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=800e8518992f342aad442e1265a2d173 560w, https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=840\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=400df6112542b2bab966141d2da22cd3 840w, https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=58923bf7bfff390deb0e8fdf496c9a3f 1100w, https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=d3590fc184797bd59ff0bf9384560bde 1650w, https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/476fea15213effba6c92f335f940246d1fc7d214233e5feee83b9f8a0f6390b2-Screenshot_2024-10-23_at_10.31.55_AM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YOTSrtBSoqdrJ37A\u0026q=85\u0026s=f8718fc69a800da7d9c5459a4a2e9eab 2500w`})}),`\n`,_jsx(Heading,{level:`4`,id:`spf-sender-policy-framework`,children:`SPF (Sender Policy Framework)`}),`\n`,_jsx(_components.p,{children:`Verifies the sending IP is authorized to send emails on your domain’s behalf.`}),`\n`,_jsx(Heading,{level:`4`,id:`dmarc`,children:`DMARC`}),`\n`,_jsxs(_components.p,{children:[`Adds policy enforcement for SPF and DKIM failures. `,_jsx(_components.strong,{children:`DMARC is required for any domain that sends 5,000 or more emails per day to Gmail or Yahoo`}),` (the `,_jsx(_components.a,{href:`/docs/en/email-deliverability#gmail-and-yahoo-bulk-sender-requirements`,children:`bulk sender`}),` threshold), and is strongly recommended for all senders. See `,_jsx(_components.a,{href:`https://support.google.com/mail/answer/81126`,children:`Google’s Email Sender Guidelines`}),` and `,_jsx(_components.a,{href:`/docs/en/new-google-and-yahoo-email-updates`,children:`Google and Yahoo email sender requirements`}),` for the OneSignal-specific setup.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`OneSignal uses the value `,_jsx(_components.code,{children:`v=DMARC1; p=none;`}),` for the DMARC record. If you already have a DMARC record, do not add a duplicate. Verify the existing record includes this policy or a stricter one (e.g., `,_jsx(_components.code,{children:`p=quarantine`}),` or `,_jsx(_components.code,{children:`p=reject`}),`).`]})}),`\n`,_jsx(Heading,{level:`3`,id:`cname-records`,children:`CNAME records`}),`\n`,_jsx(_components.p,{children:`Used for open and click tracking.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you need to comply with regulations that require per-recipient consent for open tracking (for example, France’s CNIL guidance), you can omit the tracking CNAME on a dedicated no-tracking sender. See `,_jsx(_components.a,{href:`/docs/en/email-compliance#open-tracking-pixel-consent`,children:`Open-tracking pixel consent`}),` for the full workaround.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Type:`}),` `,_jsx(_components.code,{children:`CNAME`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name:`}),` OneSignal “Hostname”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Target:`}),` OneSignal “Value”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`TTL:`}),` Auto or lowest`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If using Cloudflare, set `,_jsx(_components.strong,{children:`Proxy`}),` to “DNS only” and `,_jsx(_components.strong,{children:`Flattening`}),` to “Off” for CNAME records. Other DNS providers typically do not require these settings.`]})}),`\n`,_jsx(Frame,{caption:`CNAME DNS record interface in Cloudflare`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=c268cad031c5d52f44cd5fce1e81b105`,alt:`Cloudflare interface for adding a CNAME record with hostname and target fields`,\"data-og-width\":`2540`,width:`2540`,\"data-og-height\":`1062`,height:`1062`,\"data-path\":`images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=280\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=53262cc8ac32aabe92fc946694aadabc 280w, https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=560\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=cddb259fb4b3e76ae89cb16f76a3f0dd 560w, https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=840\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=a80a7a465575845f66d7ff80aef01758 840w, https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=6ec9e76c63863441d6187d88580ff1b7 1100w, https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=9f9701f402079ba93fe2a6eb1b4993c7 1650w, https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2e304d0eeb876a92bd325eeb490a7f8e5a7ba53d381bdc86009143146f7e6405-Screenshot_2024-10-23_at_10.36.52_AM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3zq1PvSaqvUE2bIx\u0026q=85\u0026s=95cc01020bc77f0f6ef6e11c340f6ea7 2500w`})}),`\n`,_jsx(Heading,{level:`4`,id:`dkim-domainkeys-identified-mail`,children:`DKIM (DomainKeys Identified Mail)`}),`\n`,_jsx(_components.p,{children:`Verifies the message content was not altered and was sent by you. The public key is included in the CNAME DNS record provided by OneSignal.`}),`\n`,_jsx(_components.p,{children:`We list two DKIM records and require that both be created, though initially only one is active and used for sending email. In the event that the primary record needs to be retired, we will enable the secondary record to be used.`}),`\n`,_jsx(Heading,{level:`3`,id:`mx-records`,children:`MX records`}),`\n`,_jsx(_components.p,{children:`Receives email responses and bounces. Even if you’re only sending, MX records help avoid domain verification errors.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`If you already use another email provider (e.g., Gmail), do not overwrite existing MX records.`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Type:`}),` `,_jsx(_components.code,{children:`MX`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name:`}),` OneSignal “Hostname”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Mail server:`}),` OneSignal “Value”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`TTL:`}),` Auto or lowest`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Priority:`}),` `,_jsx(_components.code,{children:`10`})]}),`\n`]}),`\n`,_jsx(Frame,{caption:`MX DNS record interface in Cloudflare`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=538fb5cd52395b619b641eeb23f4a610`,alt:`Cloudflare interface for adding an MX record with mail server and priority fields`,\"data-og-width\":`2540`,width:`2540`,\"data-og-height\":`884`,height:`884`,\"data-path\":`images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=280\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=5bf0732fc038c95691312af012153f26 280w, https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=560\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=9aaf724770f1946d7cf3949ad1055d60 560w, https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=840\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=8c336a27cd5a81519c4a80ae45855eed 840w, https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=1589b85cee3ee0768fbc461b5af9d50d 1100w, https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=e2eaeab6e89cfcdbb3f8d8fe9066e36e 1650w, https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f267f956723811f57b5a7d5db5190619a44c7641699a0bf5b3511f617597ada1-Screenshot_2024-10-23_at_10.50.19_AM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Xl2NHJvxakrK4JbL\u0026q=85\u0026s=368855e89a1a274dc527cfcf42358cce 2500w`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`dns-verification-\u0026-troubleshooting`,children:`DNS verification \u0026 troubleshooting`}),`\n`,_jsx(_components.p,{children:`After adding records:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Return to your OneSignal dashboard.`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Check Records`}),` or the refresh button.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Verified records show ✅. All records should be verified except MX, which may show ⚠️ if it points to a different mail server (e.g., Google Workspace). This is expected and acceptable.`}),`\n`,_jsx(Frame,{caption:`Verified DNS records in the OneSignal dashboard`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=74380955130736264e42e26f2ae14a39`,alt:`OneSignal dashboard showing DNS records with green checkmarks for verified status`,\"data-og-width\":`2250`,width:`2250`,\"data-og-height\":`1290`,height:`1290`,\"data-path\":`images/dashboard/dns-check-records.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=280\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=b284291000588f0e3b8dd663d647d8d0 280w, https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=560\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=8c13a99ef787bcc9a8740ff9081d8511 560w, https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=840\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=e715bf082f7485532c632c12dc83242a 840w, https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=4d7a4cef9e01c4a910b1169ce1ab52db 1100w, https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=254d4fa14a544f16a9f59f70bd02ae21 1650w, https://mintcdn.com/onesignal/2-gyvU4UfJHiycCa/images/dashboard/dns-check-records.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2-gyvU4UfJHiycCa\u0026q=85\u0026s=b5fabfe630385d93e16a4082a3dba708 2500w`})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Verification typically takes a few minutes but can take up to 48 hours.`})}),`\n`,_jsx(Heading,{level:`3`,id:`troubleshoot-dns-propagation`,children:`Troubleshoot DNS propagation`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.a,{href:`https://www.whatsmydns.net/`,children:`whatsmydns.net`}),` to check propagation if any records are pending.`]}),`\n`,_jsx(_components.li,{children:`For records that show ⚠️, copy the hostname from the OneSignal dashboard into the search bar and set the DNS type.`}),`\n`,_jsx(_components.li,{children:`Check the results: ✅ means the record is verified globally, ❌ means it has not propagated to that server yet.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If the value shown on whatsmydns.net differs from what OneSignal provides, check your DNS provider and update the record to match.`}),`\n`,_jsx(Frame,{caption:`Check DNS propagation with whatsmydns.net`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=6b259000725c32c495332ec81842db00`,alt:`whatsmydns.net results showing global DNS propagation status with green and red indicators`,\"data-og-width\":`2578`,width:`2578`,\"data-og-height\":`1492`,height:`1492`,\"data-path\":`images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=280\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=45200d98219a6ca68d0444b3a5310e89 280w, https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=560\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=e6608ffe22a7694f7a103e5cb4b5d7eb 560w, https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=840\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=f7564ca8434e741ca3ff053132de656b 840w, https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=7a84ebaa96377b5b340572c7b04aa4e2 1100w, https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=092c3a0200f89c76a5a017bc9bded0d1 1650w, https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a3011bc8b7477b7a1e18cb16cfd69bba03cc1f19cf623ccddd1926722bfc585c-Screenshot_2024-10-23_at_11.02.59_AM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RWtLFPeffHrC81wI\u0026q=85\u0026s=af91972032f666b4031df15155e019db 2500w`})}),`\n`,_jsx(Heading,{level:`4`,id:`common-errors-\u0026-solutions`,children:`Common errors \u0026 solutions`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`TXT SPF record isn’t verified`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You likely have an existing SPF record. You should only have one SPF TXT record. Append additional `,_jsx(_components.code,{children:`include:`}),` directives to its value. See the `,_jsx(_components.a,{href:`#txt-records`,children:`TXT records`}),` section above.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`DNS not fully propagated`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.a,{href:`https://www.whatsmydns.net/`,children:`whatsmydns.net`}),` shows a mix of ✅ and ❌, the records have not fully propagated. This can take up to 48 hours. Wait and check again, or contact your DNS provider.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`DNS value not matching OneSignal`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If the values on `,_jsx(_components.a,{href:`https://www.whatsmydns.net/`,children:`whatsmydns.net`}),` don’t match what OneSignal provides:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`MX records pointing elsewhere (e.g., Google Mail) are expected. This is fine as long as they show ✅ on whatsmydns.net.`}),`\n`,_jsxs(_components.li,{children:[`Verify the hostname is correct. `,_jsx(_components.code,{children:`mail.yourdomain.com`}),` is not the same as `,_jsx(_components.code,{children:`yourdomain.com`}),`.`]}),`\n`,_jsx(_components.li,{children:`Contact your DNS provider for help.`}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`how-long-does-dns-verification-take`,children:`How long does DNS verification take?`}),`\n`,_jsxs(_components.p,{children:[`Verification typically completes within minutes, but DNS propagation can take up to 48 hours depending on your provider and TTL settings. Use `,_jsx(_components.a,{href:`https://www.whatsmydns.net/`,children:`whatsmydns.net`}),` to check progress.`]}),`\n`,_jsx(Heading,{level:`3`,id:`what-if-i-already-have-spf-or-dmarc-records`,children:`What if I already have SPF or DMARC records?`}),`\n`,_jsxs(_components.p,{children:[`Do not create duplicate records. For SPF, append OneSignal’s `,_jsx(_components.code,{children:`include:spf.onesignal.email`}),` to your existing SPF TXT record. For DMARC, verify your existing record includes `,_jsx(_components.code,{children:`v=DMARC1; p=none;`}),` or a stricter policy.`]}),`\n`,_jsx(Heading,{level:`3`,id:`do-i-need-mx-records-if-i’m-only-sending-emails`,children:`Do I need MX records if I’m only sending emails?`}),`\n`,_jsx(_components.p,{children:`MX records help avoid domain verification errors even for send-only configurations. If you already use a mail provider like Gmail or Google Workspace, keep your existing MX records. You do not need to overwrite them with OneSignal’s values.`}),`\n`,_jsx(Heading,{level:`3`,id:`my-spf-record-looks-correct-on-external-dns-checkers-but-onesignal-still-shows-a-warning-what-should-i-check`,children:`My SPF record looks correct on external DNS checkers, but OneSignal still shows a warning. What should I check?`}),`\n`,_jsx(_components.p,{children:`External DNS checkers confirm that a TXT record exists for your domain, but they do not verify that its value matches what OneSignal expects. A record can exist and still fail OneSignal’s check if the value is wrong or incomplete.`}),`\n`,_jsx(_components.p,{children:`To diagnose the mismatch:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In the OneSignal dashboard, find the SPF record showing a warning and note the exact `,_jsx(_components.strong,{children:`Hostname`}),` and `,_jsx(_components.strong,{children:`Value`}),` shown.`]}),`\n`,_jsx(_components.li,{children:`Open your DNS provider and locate the TXT record for that hostname.`}),`\n`,_jsx(_components.li,{children:`Compare the record value character-for-character against what OneSignal shows.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If you send email exclusively through OneSignal with no other email providers, the minimal valid SPF value is:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`v=spf1 include:spf.onesignal.email ~all`})}),`\n`,_jsxs(_components.p,{children:[`If you use other senders, append their `,_jsx(_components.code,{children:`include:`}),` directives to the same record rather than creating a second SPF record. See `,_jsx(_components.a,{href:`#what-if-i-already-have-spf-or-dmarc-records`,children:`What if I already have SPF or DMARC records?`}),` above.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Check,{children:_jsxs(_components.p,{children:[`Return to `,_jsx(_components.a,{href:`/docs/en/email-setup`,children:`Email setup`}),` to complete configuration and begin sending emails.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`related-pages`,children:`Related pages`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Email setup`,icon:`envelope`,href:`/docs/en/email-setup`,children:_jsx(_components.p,{children:`Complete email channel setup including provider selection and auto-DNS configuration.`})}),_jsx(Card,{title:`Senders`,icon:`paper-plane`,href:`/docs/en/senders`,children:_jsx(_components.p,{children:`Manage sending domains, reply-to addresses, and sender identities.`})}),_jsx(Card,{title:`Email warm-up`,icon:`temperature-arrow-up`,href:`/docs/en/email-warm-up`,children:_jsx(_components.p,{children:`Gradually increase email volume to build sender reputation and improve deliverability.`})}),_jsx(Card,{title:`Email messaging`,icon:`envelopes-bulk`,href:`/docs/en/email-messaging`,children:_jsx(_components.p,{children:`Compose and send email campaigns with templates, personalization, and scheduling.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Email DNS configuration","description":"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.","keywords":["DNS setup","SPF","DKIM","DMARC","CNAME","MX","TXT"],"href":"/docs/en/email-dns-configuration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"Add DNS records","slug":"add-dns-records","depth":2,"children":[{"title":"TXT records","slug":"txt-records","depth":3,"children":[]},{"title":"SPF (Sender Policy Framework)","slug":"spf-sender-policy-framework","depth":4,"children":[]},{"title":"DMARC","slug":"dmarc","depth":4,"children":[]},{"title":"CNAME records","slug":"cname-records","depth":3,"children":[]},{"title":"DKIM (DomainKeys Identified Mail)","slug":"dkim-domainkeys-identified-mail","depth":4,"children":[]},{"title":"MX records","slug":"mx-records","depth":3,"children":[]}]},{"title":"DNS verification \u0026 troubleshooting","slug":"dns-verification-\u0026-troubleshooting","depth":2,"children":[{"title":"Troubleshoot DNS propagation","slug":"troubleshoot-dns-propagation","depth":3,"children":[]},{"title":"Common errors \u0026 solutions","slug":"common-errors-\u0026-solutions","depth":4,"children":[]}]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"How long does DNS verification take?","slug":"how-long-does-dns-verification-take","depth":3,"children":[]},{"title":"What if I already have SPF or DMARC records?","slug":"what-if-i-already-have-spf-or-dmarc-records","depth":3,"children":[]},{"title":"Do I need MX records if I’m only sending emails?","slug":"do-i-need-mx-records-if-i’m-only-sending-emails","depth":3,"children":[]},{"title":"My SPF record looks correct on external DNS checkers, but OneSignal still shows a warning. What should I check?","slug":"my-spf-record-looks-correct-on-external-dns-checkers-but-onesignal-still-shows-a-warning-what-should-i-check","depth":3,"children":[]}]},{"title":"Related pages","slug":"related-pages","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal Documentation","title":"Email DNS configuration - OneSignal Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/email-dns-configuration","matchLevel":0},"cn":{"href":"/docs/cn/email-dns-configuration","matchLevel":1},"ko":{"href":"/docs/ko/email-dns-configuration","matchLevel":1},"ja":{"href":"/docs/ja/email-dns-configuration","matchLevel":1},"tr":{"href":"/docs/tr/email-dns-configuration","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/email-dns-configuration","matchLevel":1},"es":{"href":"/docs/es/email-dns-configuration","matchLevel":1},"fr":{"href":"/docs/fr/email-dns-configuration","matchLevel":1}}},"lastModified":"2026-09-04T17:30:59.228Z","originalFileLocation":"docs/en/email-dns-configuration.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Email DNS configuration - OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/en/email-dns-configuration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Email+setup\u0026amp;title=Email+DNS+configuration\u0026amp;description=Manually+add+SPF%2C+DKIM%2C+DMARC%2C+CNAME%2C+and+MX+DNS+records+to+authenticate+your+email+sending+domain+and+improve+deliverability+with+OneSignal.\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=0a176c16198ca62f70b1dc121a0bb4051bbd8284e341596ad288ab1ec8d5fe51\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Email DNS configuration - OneSignal Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Email+setup\u0026amp;title=Email+DNS+configuration\u0026amp;description=Manually+add+SPF%2C+DKIM%2C+DMARC%2C+CNAME%2C+and+MX+DNS+records+to+authenticate+your+email+sending+domain+and+improve+deliverability+with+OneSignal.\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=0a176c16198ca62f70b1dc121a0bb4051bbd8284e341596ad288ab1ec8d5fe51\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/en/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/en/email-dns-configuration.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/email-dns-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/email-dns-configuration\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration#webpage\",\"url\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration\",\"name\":\"Email DNS configuration\",\"description\":\"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\",\"dateModified\":\"2026-09-04T17:30:59.228Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Message channels\",\"item\":\"https://documentation.onesignal.com/docs/en/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Email\",\"item\":\"https://documentation.onesignal.com/docs/en/email-messaging\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Email setup\",\"item\":\"https://documentation.onesignal.com/docs/en/email-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Email DNS configuration\",\"item\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration#article\",\"headline\":\"Email DNS configuration\",\"name\":\"Email DNS configuration\",\"description\":\"Manually add SPF, DKIM, DMARC, CNAME, and MX DNS records to authenticate your email sending domain and improve deliverability with OneSignal.\",\"url\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/en/email-dns-configuration#webpage\"},\"dateModified\":\"2026-09-04T17:30:59.228Z\",\"keywords\":\"DNS setup, SPF, DKIM, DMARC, CNAME, MX, TXT\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"OneSignal Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/en/email-dns-configuration.md","siteName":"OneSignal Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/docs/en/home"}]},{"tab":"User Guides","groups":[{"group":"First steps \u0026 settings","pages":[{"title":"Getting started with OneSignal","href":"/docs/en/quickstart-guide"},{"group":"OneSignal dashboard","pages":[{"title":"Apps, Organizations, \u0026 Accounts","href":"/docs/en/apps-organizations"},{"title":"Team members","href":"/docs/en/manage-team-members"},{"title":"Keys \u0026 IDs","href":"/docs/en/keys-and-ids"},{"title":"Audit logs","href":"/docs/en/audit-logs"},{"title":"Usage \u0026 billing","href":"/docs/en/billing-faq"},{"title":"Organization discovery","href":"/docs/en/organization-discovery"},{"title":"Disabled apps \u0026 organizations","href":"/docs/en/disabled-apps"}]},{"title":"Migrating to OneSignal","href":"/docs/en/migrating-to-onesignal"}]},{"group":"Message channels","pages":[{"title":"Channel setup","href":"/docs/en/channel-setup"},{"group":"Push","pages":[{"title":"Push overview","href":"/docs/en/push"},{"group":"Mobile push","pages":[{"title":"Mobile push setup","href":"/docs/en/mobile-push-setup"},{"title":"Prompt for push permissions","href":"/docs/en/prompt-for-push-permissions"},{"title":"iOS provisional push notifications","href":"/docs/en/ios-provisional-push-notifications"},{"title":"Android notification categories","href":"/docs/en/android-notification-categories"},{"title":"Data \u0026 background notifications","href":"/docs/en/data-notifications"},{"title":"VoIP push notifications","href":"/docs/en/voip-notifications"}]},{"group":"Web push","pages":[{"title":"Web push setup","href":"/docs/en/web-push-setup"},{"title":"Web permission prompts","href":"/docs/en/permission-requests"},{"title":"Web push FAQ","href":"/docs/en/web-push-setup-faq"},{"title":"Web push browser behavior","href":"/docs/en/browser-behavior-and-unsubscribes"},{"title":"Shopify integration (via Vendo)","href":"/docs/en/shopify"},{"title":"OneSignal WordPress plugin setup for web push","href":"/docs/en/wordpress"},{"title":"WordPress troubleshooting","href":"/docs/en/troubleshooting-wordpress-web-push"}]},{"group":"Push features","pages":[{"title":"Notification icons","href":"/docs/en/notification-icons"},{"title":"Notification images \u0026 rich media","href":"/docs/en/rich-media"},{"title":"Notification sounds","href":"/docs/en/notification-sounds"},{"title":"Notification badges","href":"/docs/en/badges"},{"title":"Action buttons for push notifications","href":"/docs/en/action-buttons"},{"title":"Push frequency capping","href":"/docs/en/frequency-capping"},{"title":"Push throttling","href":"/docs/en/throttling"},{"title":"iOS: Focus modes and interruption levels","href":"/docs/en/ios-focus-modes-and-interruption-levels"},{"title":"iOS: Relevance score","href":"/docs/en/ios-relevance-score"}]},{"group":"Push analytics \u0026 troubleshooting","pages":[{"title":"Push message reports","href":"/docs/en/push-notification-message-reports"},{"title":"Confirmed receipt","href":"/docs/en/confirmed-delivery"},{"title":"Notification click-through rate (CTR)","href":"/docs/en/notification-ctr"},{"title":"Mobile push: Notifications not shown or delayed","href":"/docs/en/notifications-show-successful-but-are-not-being-shown"},{"title":"Web push: Notifications not shown","href":"/docs/en/notifications-not-shown-web-push"},{"title":"Notification Images Not Showing","href":"/docs/en/notification-images-not-showing"},{"title":"Duplicated notifications","href":"/docs/en/duplicated-notifications"},{"title":"FCM expired token FAQ","href":"/docs/en/fcm-expired-token-faq"}]}]},{"group":"In-app messages","pages":[{"title":"In-app overview","href":"/docs/en/in-app-messages-setup"},{"title":"In-app triggers","href":"/docs/en/iam-triggers"},{"title":"In-app click actions","href":"/docs/en/iam-click-actions"},{"group":"In-app design","pages":[{"title":"Design in-app messages with drag-and-drop","href":"/docs/en/design-your-in-app-message"},{"title":"Design in-app messages with HTML","href":"/docs/en/design-your-in-app-message-with-html"},{"title":"In-app message templates \u0026 quickstarts","href":"/docs/en/in-app-html-templates"},{"title":"In-app message JavaScript API reference","href":"/docs/en/in-app-message-api"}]},{"title":"In-app message reports","href":"/docs/en/in-app-message-reports"},{"title":"In-app troubleshooting","href":"/docs/en/in-app-message-troubleshooting"}]},{"group":"Email","pages":[{"title":"Email overview","href":"/docs/en/email-messaging"},{"group":"Email setup","pages":[{"title":"Email setup","description":"Set up OneSignal Email by selecting a provider, creating a sender, configuring DNS authentication, and verifying your account.","href":"/docs/en/email-setup"},{"title":"Email DNS configuration","href":"/docs/en/email-dns-configuration"},{"title":"Senders","description":"Learn how to manage sender identities and domains to improve email deliverability and maintain a strong sender reputation.","href":"/docs/en/senders"},{"title":"BCC emails","href":"/docs/en/email-bcc"},{"title":"Transactional emails","href":"/docs/en/setup-transactional-emails"},{"title":"Create a custom email unsubscribe page","href":"/docs/en/create-custom-unsubscribe-page"}]},{"group":"Email deliverability \u0026 analytics","pages":[{"title":"Email message reports","href":"/docs/en/email-message-reports"},{"title":"Email deliverability","href":"/docs/en/email-deliverability"},{"title":"Deliverability insights by inbox provider","href":"/docs/en/email-deliverability-insights"},{"title":"Email reputation best practices","href":"/docs/en/email-reputation-best-practices"},{"title":"Email address validation","href":"/docs/en/email-address-validation"},{"title":"Email warm-up","href":"/docs/en/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/en/google-postmaster-tools"},{"title":"Suppressions","href":"/docs/en/suppressions"},{"title":"Email troubleshooting","href":"/docs/en/email-troubleshooting"}]},{"group":"Design your emails","pages":[{"title":"Design emails with drag-and-drop","href":"/docs/en/design-emails-with-drag-and-drop"},{"title":"Design emails with HTML","href":"/docs/en/design-emails-with-html"},{"title":"Email unsubscribe links \u0026 headers","href":"/docs/en/unsubscribe-links-email-subscriptions"},{"title":"Email template forwarding","href":"/docs/en/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"SMS, MMS, and RCS overview","href":"/docs/en/sms-messaging"},{"title":"Rich Communication Services (RCS)","href":"/docs/en/rcs-messaging"},{"group":"SMS setup","pages":[{"title":"SMS setup","href":"/docs/en/sms-setup"},{"title":"Sender resource applications and country requirements","sidebarTitle":"Sender resource applications","href":"/docs/en/sms-registration-requirements"},{"title":"SMS opt-in and collection","href":"/docs/en/sms-opt-in-and-collection"},{"title":"SMS consent keyword management","href":"/docs/en/sms-consent-keyword-management"},{"title":"SMS keywords","href":"/docs/en/keywords"}]},{"group":"SMS messaging","pages":[{"title":"Promotional messaging","href":"/docs/en/sms-promotional-messaging"},{"title":"Transactional messaging","href":"/docs/en/sms-transactional-messaging"},{"title":"One-time passwords (OTP)","sidebarTitle":"One-time passwords","href":"/docs/en/sms-verify"},{"title":"Composing messages","href":"/docs/en/sms-composing-messages"},{"title":"SMS message reports","href":"/docs/en/sms-message-reports"}]}]},{"group":"Live Activities","pages":[{"title":"Live Activities","href":"/docs/en/live-activities"},{"title":"Live Activities analytics","href":"/docs/en/live-activities-analytics"}]},{"group":"Features","pages":[{"title":"A/B testing","href":"/docs/en/ab-testing"},{"title":"Multi-language messaging","href":"/docs/en/multi-language-messaging"},{"title":"Brand Kit","href":"/docs/en/brand-kit"},{"group":"Personalization","pages":[{"title":"Personalization","href":"/docs/en/message-personalization"},{"title":"Using Liquid syntax","href":"/docs/en/using-liquid-syntax"},{"title":"Data feeds","href":"/docs/en/data-feeds"},{"title":"Personalize with Custom Events","href":"/docs/en/personalization-custom-event"},{"title":"Personalize with properties","href":"/docs/en/personalization-properties-and-tags"},{"title":"Personalize messages with API custom_data","href":"/docs/en/personalization-api-custom-data"},{"title":"Dynamic Content with CSV","href":"/docs/en/dynamic-content"}]},{"group":"URLs, Links, \u0026 Deep Links","pages":[{"title":"URLs, links, \u0026 deep links","href":"/docs/en/links"},{"title":"Deep linking","href":"/docs/en/deep-linking"},{"title":"Email unsubscribe links \u0026 headers","href":"/docs/en/unsubscribe-links-email-subscriptions"}]},{"title":"Retargeting messages","href":"/docs/en/retargeting"},{"title":"Templates","href":"/docs/en/templates"},{"title":"Labels","href":"/docs/en/labels"}]}]},{"group":"Journeys","pages":[{"title":"Journeys overview","href":"/docs/en/journeys-overview"},{"group":"Journey features","pages":[{"title":"Journey settings","href":"/docs/en/journeys-settings"},{"title":"Journey messages","href":"/docs/en/journeys-messages"},{"title":"Journey message A/B testing","sidebarTitle":"A/B testing","tag":"BETA","href":"/docs/en/journeys-ab-testing"},{"title":"Journey actions","href":"/docs/en/journeys-actions"},{"title":"Journey webhooks","href":"/docs/en/journeys-webhook"},{"title":"Send WhatsApp Messages via Journey Webhooks","href":"/docs/en/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Managing journeys","href":"/docs/en/managing-journeys"},{"title":"Journey version history","tag":"NEW","href":"/docs/en/journeys-version-history"},{"title":"Journey analytics","href":"/docs/en/journeys-analytics"}]},{"title":"Journey examples","href":"/docs/en/journeys-examples"},{"title":"Control Journey membership with tags","href":"/docs/en/journeys-membership-tags"}]},{"group":"OneSignal AI","pages":[{"title":"OneSignal AI","tag":"BETA","href":"/docs/en/onesignal-ai"},{"title":"OneSignal AI skills","sidebarTitle":"Skills","tag":"BETA","href":"/docs/en/onesignal-ai-skills"},{"title":"Check message","tag":"BETA","href":"/docs/en/check-message"},{"title":"OneSignal Home","href":"/docs/en/onesignal-home"},{"title":"OneSignal MCP Server","href":"/docs/en/model-context-protocol"},{"title":"Manage Journeys with MCP","href":"/docs/en/mcp-journeys"},{"title":"OneSignal AI data practices","mode":"frame","href":"/docs/en/ai-data-practices"},{"title":"AI message composer","href":"/docs/en/ai-message-composer"},{"title":"OneSignal Slack Agent","hidden":true,"tag":"BETA","href":"/docs/en/slack-agent"}]},{"group":"Audience \u0026 events","pages":[{"title":"Segments","href":"/docs/en/segmentation"},{"title":"User-based segmentation","tag":"BETA","href":"/docs/en/user-based-segmentation"},{"group":"Users \u0026 Subscriptions","pages":[{"title":"Users","href":"/docs/en/users"},{"title":"Subscriptions","href":"/docs/en/subscriptions"},{"title":"Sessions","href":"/docs/en/sessions"},{"title":"User and Subscription Profiles","href":"/docs/en/user-subscription-profiles"},{"title":"Aliases","href":"/docs/en/aliases"},{"title":"Test users","href":"/docs/en/test-users"},{"title":"Delete users","href":"/docs/en/delete-users"}]},{"group":"Events","pages":[{"title":"Message events","href":"/docs/en/message-events"},{"title":"Session events","href":"/docs/en/session-events"},{"group":"Custom events","pages":[{"title":"Custom events","href":"/docs/en/custom-events"},{"title":"Custom event best practices","href":"/docs/en/custom-event-best-practices"},{"title":"Custom event storage and retention","href":"/docs/en/custom-event-storage"}]}]},{"group":"Tags","pages":[{"title":"Tags","href":"/docs/en/add-user-data-tags"},{"title":"Tags: Time Operators","href":"/docs/en/time-operators"}]},{"title":"Import","href":"/docs/en/import"}]},{"group":"Analytics \u0026 Integrations","pages":[{"group":"Analytics","pages":[{"title":"Analytics overview","href":"/docs/en/analytics-overview"},{"title":"Metrics glossary","href":"/docs/en/analytics-metrics-glossary"},{"title":"Goals","sidebarTitle":"Goals","tag":"BETA","href":"/docs/en/goals"},{"title":"Exporting data","href":"/docs/en/exporting-data"},{"title":"Template analytics","href":"/docs/en/template-analytics"},{"title":"Conversion metrics","href":"/docs/en/conversion-metrics"},{"title":"Engagement trends","href":"/docs/en/engagement-analytics"},{"title":"Subscription trends","href":"/docs/en/subscription-trends"},{"title":"Sessions volume","href":"/docs/en/sessions-volume"},{"group":"Retention metrics","pages":[{"title":"Retention metrics","href":"/docs/en/retention-metrics"},{"title":"Interpreting retention curves","href":"/docs/en/interpreting-retention-curves"}]},{"title":"Custom Outcomes","href":"/docs/en/custom-outcomes"}]},{"group":"Event Streams","pages":[{"title":"Event Streams","href":"/docs/en/event-streams"},{"title":"Event Stream data reference","sidebarTitle":"Event Stream data","href":"/docs/en/event-streams-data"},{"title":"In-app message event streams","href":"/docs/en/iam-event-streams"},{"title":"Google Sheets integration with Event Streams","href":"/docs/en/google-sheets-integration-with-event-streams"}]},{"group":"Integrations","pages":[{"title":"Integrations overview","href":"/docs/en/integrations"},{"title":"Data warehouse, DMP, \u0026 CRM integration","href":"/docs/en/database-dmp-crm-integration"},{"group":"OneSignal as data source","pages":[{"title":"Amplitude","href":"/docs/en/amplitude"},{"title":"Databricks","href":"/docs/en/databricks"},{"title":"Google BigQuery","href":"/docs/en/bigquery"},{"title":"Mixpanel","href":"/docs/en/mixpanel"},{"title":"Snowflake","href":"/docs/en/snowflake"},{"title":"Segment (Twilio)","href":"/docs/en/segment-onesignal-integration"}]},{"group":"OneSignal as destination","pages":[{"title":"Adobe Audience Manager","href":"/docs/en/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/en/alloydb"},{"title":"Amazon Athena","href":"/docs/en/amazon-athena"},{"title":"Amazon S3","href":"/docs/en/s3"},{"title":"Amplitude","href":"/docs/en/amplitude"},{"title":"Apache Kafka","href":"/docs/en/kafka"},{"title":"Amazon Redshift","href":"/docs/en/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/en/azure-synapse"},{"title":"ClickHouse","href":"/docs/en/clickhouse"},{"title":"Confluent Cloud","href":"/docs/en/confluent-cloud"},{"title":"Databricks","href":"/docs/en/databricks"},{"title":"Elasticsearch","href":"/docs/en/elasticsearch"},{"title":"Google BigQuery","href":"/docs/en/bigquery"},{"title":"Google Cloud SQL","href":"/docs/en/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/en/google-sheets"},{"title":"Greenplum","href":"/docs/en/greenplum"},{"title":"HubSpot","href":"/docs/en/hubspot"},{"title":"Materialize","href":"/docs/en/materialize"},{"title":"Microsoft Fabric","href":"/docs/en/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/en/mixpanel"},{"title":"MotherDuck","href":"/docs/en/motherduck"},{"title":"MySQL","href":"/docs/en/mysql"},{"title":"PostgreSQL","href":"/docs/en/postgresql"},{"title":"Pub/Sub","href":"/docs/en/google-pubsub"},{"title":"SingleStore","href":"/docs/en/singlestore"},{"title":"Snowflake","href":"/docs/en/snowflake"},{"title":"SQL Server","href":"/docs/en/sql-server"},{"title":"Starburst Enterprise","href":"/docs/en/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/en/starburst-galaxy"},{"title":"Trino","href":"/docs/en/trino"},{"title":"Segment (Twilio)","href":"/docs/en/segment-onesignal-integration"}]},{"group":"Attribution","pages":[{"title":"RevenueCat","href":"/docs/en/revenuecat"},{"title":"Adjust","href":"/docs/en/adjust"},{"title":"BlueConic","href":"/docs/en/blueconic"}]},{"title":"Building an integration with OneSignal: partner guide","href":"/docs/en/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Privacy \u0026 Security","pages":[{"group":"Security credentials","pages":[{"title":"SOC 2 Type II","href":"/docs/en/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/en/iso27001"},{"title":"HIPAA","href":"/docs/en/hipaa"}]},{"group":"Data privacy \u0026 regulatory compliance","pages":[{"title":"GDPR \u0026 Individual Rights","href":"/docs/en/gdpr-compliance"},{"title":"EU-US Data Privacy Framework","href":"/docs/en/eu-us-data-privacy-framework"},{"title":"Email regulatory compliance","href":"/docs/en/email-compliance"},{"title":"SMS regulatory compliance","href":"/docs/en/sms-regulatory-compliance"},{"title":"Apple App Privacy Requirements","href":"/docs/en/apple-app-privacy-requirements"},{"title":"Google Play Data Safety Requirements","href":"/docs/en/google-play-data-safety-requirements"},{"title":"Data collection \u0026 security FAQs","href":"/docs/en/data-questions"},{"title":"Data collected by the OneSignal SDK","href":"/docs/en/data-collected-by-the-onesignal-sdk"},{"title":"Handling personal data","href":"/docs/en/handling-personal-data"},{"title":"Data taxonomy","href":"/docs/en/data-taxonomy"},{"title":"OneSignal AI data practices","mode":"frame","href":"/docs/en/ai-data-practices"}]},{"group":"Authentication","pages":[{"title":"2-step authentication","href":"/docs/en/2-step-authentication"},{"title":"Single Sign-On (SSO)","href":"/docs/en/sso"}]}]}]},{"tab":"Developer Guides","pages":[{"title":"Developer Guides","href":"/docs/en/developers"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/docs/en/tutorials"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]},{"tab":"Customer Success Hub","pages":[{"title":"Customer Success Hub","href":"/docs/en/customer-success-hub"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/email-dns-configuration"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/email-dns-configuration"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/email-dns-configuration"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/email-dns-configuration"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/email-dns-configuration"}]},{"language":"es","pages":[{"title":"es","href":"/docs/es/email-dns-configuration"}]},{"language":"fr","pages":[{"title":"fr","href":"/docs/fr/email-dns-configuration"}]}]},"basePath":"","title":"Email DNS configuration - OneSignal Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}