Powerful Email API
Simple, reliable REST API to send emails from any application. Get started in minutes with comprehensive documentation and code examples.
RESTful API
Clean, modern REST API with JSON responses
Full Documentation
Comprehensive guides and API reference
Quick Integration
Send your first email in under 5 minutes
Secure Authentication
API key authentication with HTTPS encryption
Quick Start Code Examples
Get started quickly with code examples in your favorite programming language
Send Your First Email
Here's how to send an email using our API with cURL, PHP, Python, and Node.js:
cURL
PHP
Python
Node.js
API Features
Everything you need to build sophisticated email functionality into your application
Transactional Emails
Send password resets, receipts, notifications, and more with guaranteed delivery
Bulk Sending
Send to thousands of recipients with a single API call using contact lists and templates
Templates
Create reusable email templates with variable substitution and conditional content
Attachments
Send files, documents, and PDFs with your emails via base64 encoding or URLs
Custom Headers
Add custom email headers for advanced tracking and routing requirements
Sandbox Mode
Test your integration without sending real emails using our sandbox environment
Enterprise-Grade Bulk Email Sending
Send millions of personalized emails with advanced features designed for high-volume senders
Bulk Email Features
Send up to 50,000 emails per API call
- Batch processing with intelligent rate limiting
- Automatic retry logic for failed sends
- Progress tracking via webhook callbacks
Dynamic Template Variables
- Personalize each email with recipient-specific data
- Supports nested variables and conditional content
- Handlebars-style syntax:
{{firstName}},{{orderTotal}}
List Management Integration
- Import contacts via CSV (up to 1M rows)
- API-driven list updates (add/remove/update)
- Automatic duplicate detection and suppression
- Unsubscribe list management (automatic exclusion)
Advanced Segmentation
- Send to filtered segments within lists
- Dynamic recipient selection via API parameters
- A/B testing support (split send to different segments)
Delivery Rate Optimization
- Intelligent throttling to respect ISP limits
- Automatic IP rotation for high-volume sends
- Reputation-based sending from dedicated IPs
Bulk Send Analytics
- Real-time delivery tracking dashboard
- Per-campaign open and click rates
- Bounce and complaint monitoring
- Export analytics to CSV or via API
Best Practices for High-Volume Sending
Warm Up Your Sending Domain
- Start with low volumes (500-1000/day)
- Gradually increase over 2-4 weeks
- Monitor bounce and complaint rates
- We provide automated warm-up schedules
Maintain Clean Lists
- Remove hard bounces immediately
- Suppress complainers and unsubscribes
- Re-engage inactive subscribers before removing
- Validate email addresses before sending
Respect Rate Limits
- Gmail: 500-1000/hour per domain recommended
- Microsoft: 1000-2000/hour per domain
- We handle throttling automatically based on recipient domain
Monitor Your Sender Reputation
- Check your domain reputation weekly
- Maintain <0.1% complaint rate
- Keep bounce rate below 5%
- Use dedicated IPs for >100k emails/month
Segment Your Campaigns
- Send different content to engaged vs. inactive users
- Test subject lines on small segments first
- Personalize content based on user behavior
Optimize Send Times
- Australian recipients: 9-11am AEST for best open rates
- B2B: Tuesday-Thursday mornings
- B2C: Weekends for e-commerce
- We provide send-time optimization analytics
Common Bulk Email Use Cases
Marketing Campaigns
Monthly newsletters, product announcements, promotional offers, event invitations
Features: Template variables, A/B testing, analytics
Transactional at Scale
Order confirmations, shipping notifications, invoice delivery, password resets
Features: High priority routing, delivery guarantees
Customer Re-Engagement
Win-back campaigns, cart abandonment sequences, subscription renewal reminders
Features: Segmentation, personalization, unsubscribe management
Internal Communications
Company-wide announcements, training materials distribution, policy update notifications
Features: Delivery tracking, read receipts
Reporting & Alerts
Daily/weekly automated reports, system monitoring alerts, compliance notifications
Features: Scheduled sending, templating, attachments
Real-Time Webhooks
Receive instant notifications when email events occur. Configure webhooks to receive real-time data about deliveries, opens, clicks, bounces, and spam complaints.
- Delivery notifications when emails are successfully delivered
- Open tracking events when recipients open your emails
- Click tracking for every link clicked in your emails
- Bounce notifications for failed deliveries
- Spam complaint alerts to protect your reputation
Example Webhook Payload
Configure webhook endpoints in your dashboard to receive real-time updates about your email delivery.
Receiving Emails (Inbound Email Handling)
Accept and process incoming emails via webhooks for support tickets, reply tracking, and email-based workflows
How Inbound Email Works
- Configure your domain's MX records to point to DingoMail
- Set up webhook URL in your DingoMail dashboard
- We parse incoming emails and POST to your webhook
- Your application receives structured JSON with email data
Inbound Email Features
- Attachment storage (up to 25MB per attachment, 50MB total)
- S3-hosted attachments with direct download URLs
- Email parsing (HTML, plain text, multipart MIME)
- Inline image handling (cid: references rewritten to S3 URLs)
- Custom domain support (receive@yourdomain.com)
- Reply-to parsing (EmailReplyParser integration)
Inbound Email Webhook Payload
When an inbound email is received, we POST to your configured webhook URL with the following payload:
Inbound Email Use Cases
Support Ticket Systems
Convert emails to support tickets
Reply Tracking
Track customer replies to marketing campaigns
Email-to-SMS Gateway
Forward emails as SMS messages
Document Processing
Extract attachments from emails for processing
Webhook Events Overview
Configure webhook URLs in your dashboard to receive real-time POST requests when events occur
Available Webhook Events
Inbound Email Events
Triggered when an email is received at your configured domains. Includes full email content, attachments, and sender details.
Use for: Support tickets, reply tracking, email-to-SMS forwarding
Delivery Status Events
Track when emails are successfully delivered to recipient servers. Useful for confirming message delivery and maintaining audit logs.
Bounce Events
Notification when emails fail to deliver (hard or soft bounces). Use to maintain clean email lists and suppress invalid addresses.
Engagement Events
Opens: Track when recipients open your emails
Clicks: Monitor link clicks within email content
Complaint Events
Alerts when recipients mark emails as spam. Critical for maintaining sender reputation and list hygiene.
Webhook Best Practices
- Always use HTTPS endpoints for webhook URLs
- Implement signature verification for security
- Handle duplicate events with idempotency keys
- Return 200 OK status quickly, process events asynchronously
- Use retry logic for failed webhook processing
- Test webhooks using ngrok for local development
Email Attachments - Complete Guide
Send and receive files with your emails using multiple methods for maximum flexibility
Sending Attachments
Method 1: Base64 Encoding (Recommended for small files <5MB)
Encode your file as base64 and include it directly in the API request:
Method 2: URL Reference (Recommended for large files >5MB)
Provide a URL and we'll download the file for you:
Note: We download the file from your URL, detect content type automatically (or you can specify), and attach it to the email. File must be accessible (public or with authentication token in URL).
Method 3: Pre-Upload to DingoMail (Best for large files)
Upload the file first, then reference it by attachment ID:
Step 1: Upload File
Step 2: Reference in Email
Attachment Limits & Best Practices
File Size Limits
- Single attachment: 25MB maximum
- Total attachments per email: 50MB maximum
- Recommended: Keep under 10MB for best deliverability
- Large files: Use cloud storage links instead (Google Drive, Dropbox, AWS S3)
Supported File Types
- Documents: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, RTF
- Images: JPG, PNG, GIF, BMP, SVG, WEBP
- Archives: ZIP, RAR, 7Z, TAR, GZ
- Other: CSV, JSON, XML, ICS (calendar), VCF (contacts)
Best Practices
- Compress large files - Use ZIP compression to reduce size
- Optimize images - Use image compression before attaching
- Use descriptive filenames - "Invoice-12345-Jan2026.pdf" not "document.pdf"
- Consider alternatives - For files >10MB, use cloud storage links
Blocked File Types (for security)
Executables: EXE, BAT, CMD, COM, SCR | Scripts: JS, VBS, WSF, JAR
These can be sent if inside a password-protected ZIP (include password in email body)
Inline Images (Embedded in HTML)
Use Content-ID (CID) attachments to embed images directly in your HTML email:
JSON Example
When to Use Inline vs. Hosted Images
Inline (CID)
Email clients show images even if "load images" is disabled. Best for transactional emails where reliability is critical.
Hosted (URL)
Smaller email size, can track image loads. Best for marketing emails where tracking is important.
Developer Use Cases & Examples
Real-world examples showing how to integrate DingoMail into your applications
Use Case 1: E-commerce Order Notifications
Send order confirmations when customers place orders on your e-commerce site.
PHP Example
Key Features Used
- Transactional sending: Immediate delivery of order confirmations
- Dynamic content: Include order number, total, customer name
- HTML + Text: Provide both formats for better compatibility
- Reliable delivery: Critical business emails with guaranteed delivery
Pro Tip
Store the email ID returned by the API in your order database to track delivery status and troubleshoot issues.
Use Case 2: SaaS Application Password Reset
Send secure password reset emails with time-limited tokens.
Node.js Example
Security Best Practices
- Time-limited tokens: Set expiry time (1 hour recommended)
- Single-use tokens: Invalidate after password is reset
- Plain text fallback: Always include text version with URL
- Clear instructions: Tell users what to do if they didn't request it
Security Note
Never include the actual password in the email. Always use secure, time-limited reset tokens.
Use Case 3: Marketing Campaign with Segmentation
Send personalized marketing emails to segmented user lists.
Python Example
Campaign Best Practices
- Personalization: Use recipient's name and account details
- Segmentation: Send different content to different user groups
- List hygiene: Exclude unsubscribed and invalid emails
- Rate limiting: Respect ISP limits (we handle this automatically)
Track Performance
Use our analytics dashboard to track open rates, click rates, and optimize future campaigns.
Use Case 4: Automated Reports with Attachments
Send daily/weekly reports with CSV and PDF attachments.
PHP Example
Automation Tips
- Scheduled sending: Use cron jobs or task schedulers
- Multiple attachments: Include CSV for data, PDF for visualization
- Consistent naming: Include date in filename for easy organization
- Error handling: Log failures and retry if needed
Alternative: Large Files
For reports larger than 10MB, upload to S3 and include download links instead of attachments.
Use Case 5: Processing Inbound Emails (Support Tickets)
Convert incoming emails into support tickets in your system.
Node.js Webhook Handler
Webhook Implementation Tips
- Respond quickly: Return 200 OK immediately, process asynchronously
- Download attachments: S3 URLs expire after 24 hours
- Idempotency: Handle duplicate webhooks gracefully
- Error handling: Log failures for debugging
- Auto-replies: Send confirmation to sender
Testing Webhooks
Use ngrok to test webhooks locally before deploying to production.
Platform Integrations
Popular integrations and plugins for seamless email delivery
WordPress Plugin
Official WordPress plugin for seamless integration with your WordPress site. Send all WordPress emails through Dingo Mail with just a few clicks.
Shopify Integration
Send order confirmations, shipping notifications, and marketing emails directly from your Shopify store with our native integration.
SMTP Support
Use Dingo Mail as your SMTP server for any application. Compatible with all major email clients and applications that support SMTP.
Zapier Integration
Connect Dingo Mail to thousands of apps through Zapier. Automate your email workflows without writing any code.
Custom Integration Services
Need help integrating Dingo Mail into your application or platform? Our team can build custom integrations tailored to your specific requirements.
- Custom plugin development for your platform
- API integration consulting and implementation
- Migration from other email service providers
- Dedicated technical support during integration
- Performance optimization and best practices
Ready to Integrate?
Get your API key and start sending emails in minutes
Get API Key View Documentation