SMTP Integration

Send emails using standard SMTP. Works with any email library.

SMTP Credentials

Use these settings to configure your application:

Host smtp.eml.dev
Port 587
Security STARTTLS
Username apikey
Password YOUR_API_KEY

Note: Use your API key as the SMTP password. The username is always apikey.

Sandbox mode: Using a sandbox API key with SMTP will log emails without delivering them. This works the same way as the REST API—great for testing your SMTP integration in staging environments.

Framework Examples

Ruby on Rails

config/environments/production.rb
config.action_mailer.smtp_settings = {
  address: "smtp.eml.dev",
  port: 587,
  user_name: "apikey",
  password: ENV["EML_API_KEY"],
  authentication: :plain,
  enable_starttls: true
}

Django

settings.py
EMAIL_HOST = "smtp.eml.dev"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = "apikey"
EMAIL_HOST_PASSWORD = os.environ.get("EML_API_KEY")

Node.js (Nodemailer)

JavaScript
const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
  host: "smtp.eml.dev",
  port: 587,
  secure: false, // upgraded via STARTTLS,
  auth: {
    user: "apikey",
    pass: process.env.EML_API_KEY
  }
});

PHP (PHPMailer)

PHP
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "smtp.eml.dev";
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth = true;
$mail->Username = "apikey";
$mail->Password = getenv("EML_API_KEY");

SMTP vs REST API

Use SMTP when:

  • • You have existing SMTP code
  • • Your framework has built-in SMTP support
  • • You need a drop-in replacement

Use REST API when:

  • • Building a new integration
  • • You want detailed response data
  • • You prefer HTTP over SMTP protocol