Free Email Tester is Live
Real-time open & click tracking - No setup required
Test Multi-Channel Verifications
Need to receive mock SMS text messages for OTP or MFA? Try our free simulated SMS Gateway.
Test outbound email integrations safely in development and staging. Block emails from reaching real mailboxes, inspect rendered HTML, attachments, headers, and codes instantly.
SMTP Sandbox Disclaimer
SmtpCove is a closed testing sandbox. All emails sent to this server are intercepted and previewed here. We **never deliver messages to actual mailboxes** (e.g. Gmail, Yahoo, Outlook) to safeguard email sending reputation.
Get custom SMTP credentials and a private mailbox instantly with one click.
Launch a sandbox account. You receive an SMTP Server Host (`sandbox.mail.od2.in`), Port `2525`, and a unique dynamic username/password.
Input your custom SMTP credentials into your local application config. SmtpCove accepts traffic immediately.
Emails display instantly. Verify template responsiveness inside our sandboxed frame, read SMTP audit logs, and copy extracted OTPs.
Staging email deliverability should not risk sending spam to real customers or trigger spam penalties. SmtpCove gives you a closed testing box compatible with standard tools.
Works as a drop-in replacement. Simply configure your mail client settings (host, port 2525/587, and credentials) to see your logs immediately.
Check responsiveness of HTML email layouts across different sizes. SmtpCove PURIFY-cleans and previews templates inside sandboxed viewports.
Our smart algorithm parses captured emails in real-time, extracts one-time verification passwords (OTPs), and exposes active links instantly.
No credit card. No sign-up. Instant sandbox.
Mailtrap
Popular paid alternative
SmtpCove
Free forever ยท No sign-up
Mailhog
Self-hosted / Docker only
SmtpCove is the only hosted, zero-signup sandbox with built-in OTP detection and shareable read-only links.
Have questions about retention limits, integrations, or security? Read the FAQs at the bottom of this page.
Plug SmtpCove into any framework in under two minutes. Replace your production SMTP credentials with the sandbox values and all outgoing mail is captured, nothing reaches real inboxes.
Nodemailer is the most popular email library for Node.js. To use SmtpCove, create a transporter pointing at the sandbox host and drop in your generated credentials. No TLS certificate verification is required in the sandbox.
const nodemailer = require('nodemailer');
// 1. Create SmtpCove transporter
const transporter = nodemailer.createTransport({
host: 'sandbox.mail.od2.in',
port: 2525, // also works on 587
secure: false, // use STARTTLS, not SSL
auth: {
user: 'YOUR_SANDBOX_USERNAME', // e.g. [email protected]
pass: 'YOUR_SANDBOX_PASSWORD',
},
});
// 2. Send a test email, it will appear in your SmtpCove inbox
await transporter.sendMail({
from: '"My App" <[email protected]>',
to: '[email protected]',
subject: 'Welcome! Verify your account',
text: 'Your OTP is: 482910',
html: '<h1>Your OTP is <strong>482910</strong></h1>',
});
console.log('Email captured in SmtpCove sandbox โ');In Django, override your settings.py email backend for staging. In raw Python, use smtplib with STARTTLS. Both connect identically to SmtpCove.
# Django settings.py (staging)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'sandbox.mail.od2.in'
EMAIL_PORT = 2525
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'YOUR_SANDBOX_USERNAME'
EMAIL_HOST_PASSWORD = 'YOUR_SANDBOX_PASSWORD'
# --- OR raw smtplib ---
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('<h1>OTP: 482910</h1>', 'html')
msg['Subject'] = 'Verify your account'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
with smtplib.SMTP('sandbox.mail.od2.in', 2525) as s:
s.starttls()
s.login('YOUR_SANDBOX_USERNAME', 'YOUR_SANDBOX_PASSWORD')
s.send_message(msg)
print('Captured in SmtpCove โ')Laravel reads SMTP config from .env. WordPress uses a plugin like WP Mail SMTP. In both cases, just swap the host, port, and credentials for your sandbox values.
Laravel .env
MAIL_MAILER=smtp MAIL_HOST=sandbox.mail.od2.in MAIL_PORT=2525 MAIL_USERNAME=YOUR_SANDBOX_USERNAME MAIL_PASSWORD=YOUR_SANDBOX_PASSWORD MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS="[email protected]" MAIL_FROM_NAME="${APP_NAME}"
WordPress WP Mail SMTP
โ Install WP Mail SMTP plugin
โก Set mailer to Other SMTP
โข SMTP Host โ sandbox.mail.od2.in
โฃ Port โ 2525, Encryption โ TLS
โค Username / Password โ your sandbox credentials
โฅ Send a test email from WP Mail SMTP โ verify in SmtpCove inbox
Never hardcode SMTP credentials. Store them in environment variables and switch between sandbox and production with a single env flag. Here is a recommended pattern that works across Node.js, Python, and PHP apps:
.env.staging
SMTP_HOST=sandbox.mail.od2.in SMTP_PORT=2525 SMTP_USER=YOUR_SANDBOX_USERNAME SMTP_PASS=YOUR_SANDBOX_PASSWORD [email protected]
.env.production
SMTP_HOST=smtp.sendgrid.net SMTP_PORT=587 SMTP_USER=apikey SMTP_PASS=SG.xxxxxxxxxxxxxxxxxxxx [email protected]
ECONNREFUSED / Connection timed out
Ensure your local firewall or cloud security group allows outbound TCP on port 2525 or 587. On some corporate networks, non-standard SMTP ports are blocked, switch to port 587 as a fallback.
SMTP AUTH failed / Invalid credentials
Copy the exact username and password from your SmtpCove credentials panel, they are case-sensitive 12-character hex strings. Sandbox accounts expire after 7 days; create a new one if credentials are rejected.
CERT_HAS_EXPIRED / TLS handshake failure
In development only, you can disable TLS verification with rejectUnauthorized: false in Node.js or MAIL_ENCRYPTION=tls with ssl: false in Laravel. Never disable TLS in production.
Email sent successfully but not visible in console
Check that the To: address ends in @sandbox.mail.od2.in. Emails addressed to any other domain are silently dropped by the sandbox. Also confirm the sandbox account has not expired.
Common questions about using SmtpCove SMTP Testing Sandbox.