Sender Commands
Manage verified email sender identities for campaigns and transactional emails.
Overview
Sender commands allow you to:
- Create and verify sender email addresses
- List all sender identities
- Update sender information
- Delete unused senders
- Confirm sender email addresses via verification link
- Resend verification emails
Verified senders are required for sending campaigns and transactional emails. Email service providers require sender verification to prevent spam and ensure deliverability.
Commands
- senders list - List all senders
- senders get - Get sender details
- senders create - Create a new sender
- senders update - Update sender information
- senders delete - Delete a sender
- senders confirm - Confirm sender email
- senders resend-confirmation - Resend verification email
senders list
List all sender identities in your account with filtering and sorting.
Usage
cakemail senders list [options]
Options
-l, --limit <number>- Limit number of results per page-p, --page <number>- Page number (default: 1)--sort <sort>- Sort order (e.g.,+name,+email,-confirmed)--filter <filter>- Filter expression (e.g.,confirmed==true)
Examples
List all senders:
$ cakemail senders list
Output:
┌────────┬────────────────────┬─────────────────────┬───────────┬─────────────────────┐
│ ID │ Name │ Email │ Confirmed │ Created │
├────────┼────────────────────┼─────────────────────┼───────────┼─────────────────────┤
│ 101 │ Newsletter Team │ news@example.com │ ✓ │ 2024-01-15 10:30:00 │
│ 102 │ Support │ support@example.com │ ✓ │ 2024-02-01 14:20:00 │
│ 103 │ Marketing │ promo@example.com │ ✗ │ 2024-03-10 09:15:00 │
└────────┴────────────────────┴─────────────────────┴───────────┴─────────────────────┘
List only confirmed senders:
$ cakemail senders list --filter "confirmed==true"
Output:
┌────────┬────────────────────┬─────────────────────┬───────────┐
│ ID │ Name │ Email │ Confirmed │
├────────┼────────────────────┼─────────────────────┼───────────┤
│ 101 │ Newsletter Team │ news@example.com │ ✓ │
│ 102 │ Support │ support@example.com │ ✓ │
└────────┴────────────────────┴─────────────────────┴───────────┘
Sort by name:
$ cakemail senders list --sort "+name"
Sort by most recently created:
$ cakemail senders list --sort "-created_at"
Export senders as JSON:
$ cakemail senders list -f json > senders.json
Output:
{
"data": [
{
"id": 101,
"name": "Newsletter Team",
"email": "news@example.com",
"confirmed": true,
"created_at": "2024-01-15T10:30:00Z"
}
],
"count": 3
}
Find unconfirmed senders:
$ cakemail senders list -f json | jq '.data[] | select(.confirmed == false)'
Notes
- Only confirmed senders can be used for campaigns and emails
- Unconfirmed senders show ✗ in the Confirmed column
- Use filtering to quickly find confirmed/unconfirmed senders
- Sort options:
+name,-name,+email,-email,+confirmed,-confirmed,+created_at,-created_at
Related Commands
- senders create - Add new sender
- senders confirm - Verify sender email
- campaigns create - Use sender in campaign
senders get
Get detailed information about a specific sender.
Usage
cakemail senders get <id>
Arguments
id- Sender ID (required)
Examples
Get sender details:
$ cakemail senders get 101
Output:
{
"id": 101,
"name": "Newsletter Team",
"email": "news@example.com",
"confirmed": true,
"confirmed_at": "2024-01-15T10:45:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Check if sender is confirmed:
$ cakemail senders get 101 -f json | jq '.confirmed'
Output:
true
Get sender email:
$ cakemail senders get 101 -f json | jq -r '.email'
Output:
news@example.com
Notes
- Shows confirmation status and timestamp
- Confirmed senders can be used immediately
- Unconfirmed senders require email verification
Related Commands
- senders list - Find sender IDs
- senders update - Modify sender details
- senders confirm - Verify sender
senders create
Create a new sender identity and send verification email.
Usage
cakemail senders create [options]
Options
-n, --name <name>- Sender name (required)-e, --email <email>- Sender email address (required)
Examples
Create sender:
$ cakemail senders create -n "Newsletter Team" -e "news@example.com"
Output:
✓ Sender created: 101
ℹ A confirmation email has been sent to verify this sender
{
"id": 101,
"name": "Newsletter Team",
"email": "news@example.com",
"confirmed": false,
"created_at": "2024-03-15T10:30:00Z"
}
Create support sender:
$ cakemail senders create -n "Customer Support" -e "support@example.com"
Output:
✓ Sender created: 102
ℹ A confirmation email has been sent to verify this sender
Create marketing sender:
$ cakemail senders create -n "Marketing Team" -e "marketing@example.com"
Verification Process
- Sender created with
confirmed: falsestatus - Verification email sent to the sender address
- Email contains confirmation link with confirmation ID
- Click link or use senders confirm command
- Sender status changes to
confirmed: true
Notes
- Verification email sent automatically after creation
- Sender cannot be used until confirmed
- Must have access to the email address to verify
- Email validation performed before creation
- Verification link expires after 24 hours
- Use senders resend-confirmation if email not received
Related Commands
- senders confirm - Complete verification
- senders resend-confirmation - Resend verification email
- senders list - View all senders
senders update
Update an existing sender's name or email address.
Usage
cakemail senders update <id> [options]
Arguments
id- Sender ID (required)
Options
-n, --name <name>- New sender name-e, --email <email>- New sender email address
Examples
Update sender name:
$ cakemail senders update 101 -n "Newsletter Team - US"
Output:
✓ Sender 101 updated
{
"id": 101,
"name": "Newsletter Team - US",
"email": "news@example.com",
"confirmed": true
}
Update sender email:
$ cakemail senders update 101 -e "newsletter@example.com"
Output:
✓ Sender 101 updated
{
"id": 101,
"name": "Newsletter Team - US",
"email": "newsletter@example.com",
"confirmed": false
}
Update both name and email:
$ cakemail senders update 101 -n "Marketing Newsletter" -e "marketing@example.com"
Notes
- Only provided fields are updated (partial updates)
- Changing email resets
confirmedstatus tofalse - New verification email sent when email is changed
- Must re-verify email address after change
- Sender ID remains the same
Related Commands
- senders get - View current sender details
- senders confirm - Verify new email
- senders create - Create new sender
senders delete
Permanently delete a sender identity.
Usage
cakemail senders delete <id> [options]
Arguments
id- Sender ID (required)
Options
-f, --force- Skip confirmation prompt (use in scripts)
Examples
Delete sender with confirmation:
$ cakemail senders delete 103
Output:
⚠ Delete sender 103?
The following will happen:
• Sender will be permanently deleted
Type 'yes' to confirm: yes
✓ Sender 103 deleted
Force delete without confirmation:
$ cakemail senders delete 103 --force
Output:
✓ Sender 103 deleted
Delete in script:
$ cakemail senders delete 103 --force --batch
Notes
- Deletion is permanent and cannot be undone
- Cannot delete sender if used in active campaigns
- Historical campaigns keep sender information
- Sender email can be re-added later as new sender
- Confirmation required unless
--forceis used
Related Commands
- senders list - View senders before deletion
- senders get - Check sender details
senders confirm
Confirm a sender email address using the confirmation ID from verification email.
Usage
cakemail senders confirm <confirmation-id>
Arguments
confirmation-id- Confirmation ID from verification email (required)
Examples
Confirm sender:
$ cakemail senders confirm abc123def456ghi789
Output:
✓ Sender confirmed
{
"id": 101,
"name": "Newsletter Team",
"email": "news@example.com",
"confirmed": true,
"confirmed_at": "2024-03-15T10:45:00Z"
}
Verify confirmation:
$ cakemail senders get 101 -f json | jq '.confirmed'
Output:
true
Finding Confirmation ID
The confirmation ID is found in the verification email:
- Check inbox for email from Cakemail
- Subject: "Verify your sender email address"
- Click verification link OR extract ID from URL
- URL format:
https://app.cakemail.com/verify?id=abc123def456ghi789 - Use the ID parameter value in this command
Notes
- Confirmation ID provided in verification email
- Single-use only (cannot be reused)
- Expires after 24 hours
- Sets sender status to
confirmed: true - Sender can be used immediately after confirmation
- Use senders resend-confirmation if expired
Related Commands
- senders resend-confirmation - Get new confirmation email
- senders get - Check confirmation status
- senders create - Create sender
senders resend-confirmation
Resend the verification email for an unconfirmed sender.
Usage
cakemail senders resend-confirmation <id>
Arguments
id- Sender ID (required)
Examples
Resend confirmation email:
$ cakemail senders resend-confirmation 103
Output:
✓ Confirmation email resent for sender 103
Check sender status before resending:
$ cakemail senders get 103
Output:
{
"id": 103,
"name": "Marketing",
"email": "promo@example.com",
"confirmed": false
}
Resend and then confirm:
# Resend verification
$ cakemail senders resend-confirmation 103
# Check email for new confirmation ID
# Confirm using ID from email
$ cakemail senders confirm xyz789abc123def456
Use Cases
- Original email not received - Check spam folder first
- Confirmation link expired - Links expire after 24 hours
- Email deleted accidentally
- Wrong email address - Update email first, then resend
Notes
- Only works for unconfirmed senders
- Generates new confirmation ID (old one invalidated)
- Check spam/junk folders before resending
- Ensure sender email is correct before resending
- No rate limit on resend attempts
Related Commands
- senders confirm - Use confirmation ID
- senders get - Check if confirmed
- senders update - Fix incorrect email
Common Workflows
Workflow 1: Add and Verify New Sender
# Create sender
$ cakemail senders create -n "Newsletter" -e "news@example.com"
# Note sender ID from output (e.g., 101)
# Check email inbox for verification email
# Copy confirmation ID from email
# Confirm sender
$ cakemail senders confirm abc123def456ghi789
# Verify confirmation
$ cakemail senders get 101 -f json | jq '.confirmed'
Workflow 2: Handle Missing Verification Email
# Check sender status
$ cakemail senders get 103
# If not confirmed, resend verification
$ cakemail senders resend-confirmation 103
# Check spam/junk folder
# Wait a few minutes for email delivery
# Confirm with new ID
$ cakemail senders confirm newid123abc456def
Workflow 3: Update Sender Email
# View current sender
$ cakemail senders get 101
# Update email address
$ cakemail senders update 101 -e "newemail@example.com"
# Note: sender is now unconfirmed
# Check new email for verification
# Confirm new email
$ cakemail senders confirm newemail789xyz123
# Verify update
$ cakemail senders get 101
Workflow 4: Audit Sender List
# List all senders
$ cakemail senders list
# Find unconfirmed senders
$ cakemail senders list -f json | jq '.data[] | select(.confirmed == false)'
# Resend verifications for unconfirmed
$ cakemail senders resend-confirmation 103
$ cakemail senders resend-confirmation 104
# Delete unused senders
$ cakemail senders delete 105 --force
Workflow 5: Setup Multiple Senders
# Create senders for different purposes
$ cakemail senders create -n "Newsletter" -e "news@example.com"
$ cakemail senders create -n "Transactional" -e "noreply@example.com"
$ cakemail senders create -n "Support" -e "support@example.com"
# Confirm each sender (check emails)
$ cakemail senders confirm id1
$ cakemail senders confirm id2
$ cakemail senders confirm id3
# List confirmed senders
$ cakemail senders list --filter "confirmed==true"
Best Practices
- Use Descriptive Names: Make sender names clear and purposeful
- Verify Promptly: Confirm senders immediately after creation
- Domain Ownership: Only use email addresses you control
- Multiple Senders: Create separate senders for different email types
- Regular Audits: Periodically review and clean up unused senders
- Professional Emails: Use business/brand email addresses
- Check Spam: Always check spam folder if verification not received
- Delete Unused: Remove senders no longer in use
Troubleshooting
Error: "Email address is invalid"
Email format validation failed.
Solution:
# Use valid email format
$ cakemail senders create -n "Newsletter" -e "news@example.com"
# Not valid: "news@example" (missing TLD)
# Not valid: "news.example.com" (missing @)
Verification Email Not Received
Email delivery may be delayed or blocked.
Solution:
# Check spam/junk folder first
# Wait 5-10 minutes for delivery
# Resend if not received
$ cakemail senders resend-confirmation 101
# Verify email address is correct
$ cakemail senders get 101 -f json | jq '.email'
# Update if wrong
$ cakemail senders update 101 -e "correct@example.com"
Error: "Confirmation ID is invalid or expired"
Confirmation link expired (24 hours) or already used.
Solution:
# Resend verification email
$ cakemail senders resend-confirmation 101
# Use new confirmation ID from email
$ cakemail senders confirm newid123
Cannot Delete Sender
Sender may be in use by active campaigns.
Solution:
# Check which campaigns use this sender
$ cakemail campaigns list -f json | jq '.data[] | select(.sender_id == 101)'
# Wait for campaigns to complete
# Or use different sender for campaigns
# Then delete
$ cakemail senders delete 101 --force
Sender Shows as Unconfirmed After Update
Changing email resets confirmation status.
Solution:
# This is expected behavior
# Check email for new verification
# Confirm new email address
$ cakemail senders confirm newemail123
# Verify confirmation
$ cakemail senders get 101 -f json | jq '.confirmed'
Cannot Use Sender in Campaign
Sender must be confirmed first.
Solution:
# Check sender status
$ cakemail senders get 101 -f json | jq '.confirmed'
# If false, resend and confirm
$ cakemail senders resend-confirmation 101
$ cakemail senders confirm id123
# Then use in campaign
$ cakemail campaigns create -n "Test" -l 123 -s 101
Domain Authentication Issues
Sender domain may not be properly authenticated.
Solution:
# Ensure SPF record includes Cakemail
# SPF: v=spf1 include:spf.cakemail.com ~all
# Setup DKIM for your domain
# Contact Cakemail support for DKIM keys
# Verify DMARC policy
# DMARC: v=DMARC1; p=none; rua=mailto:admin@example.com
# Test with external tools
# Use: https://mxtoolbox.com/spf.aspx
Related Documentation:
- Campaigns Commands - Use senders in campaigns
- Emails Commands - Use senders in transactional emails
- Account Commands - Account settings and configuration