--- title: Custom Domains description: Send emails from your own domain --- ## Why use custom domains Sending from your own domain (e.g., `hello@yourdomain.com`) instead of a shared domain: - **Better deliverability** — Email providers trust emails from verified domains - **Brand consistency** — Recipients see your brand, not Plunk - **Higher trust** — Your domain builds its own sender reputation - **Professional appearance** — Custom addresses look more legitimate ## Requirements - **Domain ownership** — You own or control the domain - **DNS access** — Ability to add DNS records - **Verification** — Add DKIM records to prove ownership ## Adding a domain 1. Go to **Settings > Domains** 2. Click **Add Domain** 3. Enter your domain (e.g., `yourdomain.com`) 4. Copy the provided DNS records ## DNS configuration After adding your domain, you'll receive 3 DKIM tokens. Add them as CNAME records to your DNS. ### Common DNS providers #### Cloudflare 1. Log into Cloudflare 2. Select your domain 3. Go to **DNS > Records** 4. Click **Add record** 5. Select **CNAME** type 6. Paste name and value from Plunk 7. Click **Save** 8. Repeat for all 3 records #### Namecheap 1. Log into Namecheap 2. Go to **Domain List** 3. Click **Manage** next to your domain 4. Select **Advanced DNS** 5. Click **Add New Record** 6. Choose **CNAME Record** 7. Enter host and value 8. Repeat for all 3 records #### GoDaddy 1. Log into GoDaddy 2. Go to **My Products** 3. Click **DNS** next to your domain 4. Click **Add** under Records 5. Select **CNAME** type 6. Enter name and value 7. Repeat for all 3 records #### Route 53 (AWS) 1. Open Route 53 console 2. Select your hosted zone 3. Click **Create record** 4. Enter record name 5. Select **CNAME** type 6. Paste value 7. Create record 8. Repeat for all 3 records ## Verification ### Automatic verification Plunk checks DNS records every 5 minutes automatically. Verification typically completes within 10-30 minutes after adding DNS records. **Note:** DNS propagation can take up to 48 hours, though it's usually much faster. Check verification status in your dashboard at **Settings > Domains**. ## Using your domain Once verified, specify your domain in the `from` field: ### In transactional emails ```bash curl -X POST {{API_URL}}/v1/send \ -H "Authorization: Bearer sk_your_secret_key" \ -H "Content-Type: application/json" \ -d '{ "to": "customer@example.com", "from": "orders@yourdomain.com", "fromName": "Your Company", "subject": "Order confirmed", "body": "

Your order has been confirmed.

" }' ``` ### In templates Set default from address in template: ```bash curl -X POST {{API_URL}}/templates \ -H "Authorization: Bearer sk_your_secret_key" \ -H "Content-Type: application/json" \ -d '{ "name": "Order Confirmation", "subject": "Order #{{orderNumber}} confirmed", "body": "...", "from": "orders@yourdomain.com", "fromName": "Your Company", "type": "TRANSACTIONAL" }' ``` ### In campaigns Campaigns use the template's from address, or you can override: ```bash curl -X POST {{API_URL}}/campaigns \ -H "Authorization: Bearer sk_your_secret_key" \ -H "Content-Type: application/json" \ -d '{ "name": "Newsletter", "templateId": "template_id", "from": "newsletter@yourdomain.com", "audienceType": "ALL" }' ``` ## Managing domains ### Remove domain Go to **Settings > Domains**, select the domain, and click **Remove**. **Warning:** Emails using this domain will fail to send after removal. ## Troubleshooting ### Domain won't verify **1. Check DNS records are correct** Verify records are added exactly as provided **2. Wait for propagation** DNS changes can take up to 48 hours to propagate globally. Check periodically. **3. Remove conflicting records** If you previously used another email service, remove their DKIM records to avoid conflicts. **4. Check for typos** Ensure record names and values match exactly. Common issues: - Extra spaces in values - Missing dots in record names - Wrong subdomain ### Emails not sending from domain **1. Verify domain is verified** - Check status in **Settings > Domains**. **2. Use correct email format** Must be `username@yourdomain.com`, not `@subdomain.yourdomain.com`. **3. Check sender reputation** New domains have no reputation. Start with small volumes and gradually increase. ### Emails going to spam After adding custom domain: **1. Warm up your domain** — See [Scaling Email](/guides/scaling-email) **2. Monitor deliverability** — Check [Analytics](/guides/analytics) for bounce/complaint rates **3. Clean your list** — Remove bounced addresses immediately ## Best practices **Start small** — Send to engaged users first to build reputation. **Monitor metrics** — Watch bounce and complaint rates closely. **Use subdomains** — Consider `mail.yourdomain.com` for email to separate from main domain reputation. **Keep DNS records** — Don't remove DKIM records even if verification is complete. **Test thoroughly** — Send test emails to various providers (Gmail, Outlook, Yahoo). ## Next Steps - [Scale email delivery](/guides/scaling-email) with your custom domain - [Monitor analytics](/guides/analytics) for domain performance - [Troubleshoot issues](/guides/troubleshooting) if problems arise