Back to Docs

Email API

Transactional and marketing email with analytics

Global Delivery

Worldwide email reach

High Deliverability

99%+ inbox rate

DKIM/SPF/DMARC

Full authentication

Analytics

Opens, clicks, bounces

Industry First

Your Customers Click the Logo. We Tell Them You're Real.

Every email includes a clickable logo that verifies sender integrity in real-time— catching compromised accounts even after the email was sent.

Clickable Logo Verification

Recipients click the logo to verify the email is authentic—instantly.

Sender Integrity Check

Catches compromised accounts even if it happened AFTER the email was sent.

BIMI Support

Your brand logo appears in Gmail, Yahoo, and Apple Mail inboxes.

Post-Send Monitoring

Continuous verification—warns recipients if sender account shows issues later.

Email Preview

Verification ID (long-press to copy)

A7B3F2-9C4E8D-1K5M7N-3P6Q9R

Verify at verify.smsly.cloud

Your Company

via SMSly • Verified Sender

Your verification code is: 847291

🔐 To verify this email:

  1. 1. Long-press the ID above to copy
  2. 2. Go to verify.smsly.cloud
  3. 3. Paste to confirm sender integrity

No clickable links = No phishing risk. Active verification = Stronger trust.

Dual-Key Authentication

API KeyPermanent
X-Smsly-Key-Id: sk_live_xxx
SDK KeyRotatable
X-SMSLY-SDK-KEY: sdk_live_xxx

Quick Start

Python
from smsly import SMSly

# === DUAL KEY SECURITY ===
# Two keys required (both can be in .env or embedded):
# 1. API Key - for authentication
# 2. SDK Key - for SDK validation

# === METHOD 1: Direct (Both Keys) ===
client = SMSly(
    api_key="setup_api_your_key",   # From dashboard
    sdk_key="setup_sdk_your_key"    # From dashboard
)

# Send Email OTP
response = client.email.otp("user@example.com", "123456")
print(f"Email ID: {response.email_id}")

# Send transactional email
client.email.transactional(
    to="user@example.com",
    subject="Your Order Has Shipped",
    body="<h1>Order Update</h1><p>Your order is on its way!</p>",
    from_name="SMSLY Store"
)

# Send marketing email with template
client.email.template(
    to="user@example.com",
    template="newsletter_weekly",
    params={"user_name": "John", "featured_products": [...]}
)

# === METHOD 2: Environment Variables ===
# .env file:
# SMSLY_API_KEY=setup_api_xxx
# SMSLY_SDK_KEY=setup_sdk_xxx

client = SMSly()  # Auto-reads from env

API Endpoints

POST/v1/email/otpSend OTP via email
POST/v1/email/transactionalSend transactional email
POST/v1/email/marketingSend marketing email
POST/v1/email/templateSend templated email
GET/v1/email/:idGet email status
GET/v1/email/:id/eventsGet email events (opens, clicks)
GET/v1/email/:id/verifyReal-time sender integrity check

Ready to send emails?