Initial push of Plunk Next
This commit is contained in:
@@ -0,0 +1,209 @@
|
||||
---
|
||||
title: Custom Domains
|
||||
description: Send emails from your own domain
|
||||
---
|
||||
|
||||
## Why use custom domains
|
||||
|
||||
Sending from your own domain (e.g., `[email protected]`) 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": "[email protected]",
|
||||
"from": "[email protected]",
|
||||
"fromName": "Your Company",
|
||||
"subject": "Order confirmed",
|
||||
"body": "<p>Your order has been confirmed.</p>"
|
||||
}'
|
||||
```
|
||||
|
||||
### 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": "[email protected]",
|
||||
"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": "[email protected]",
|
||||
"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 `[email protected]`, 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
|
||||
Reference in New Issue
Block a user