SMTP

Frameworks that already speak SMTP work without an SDK. Point them at your instance with an SMTP credential and they get the same pipeline, tracking and webhooks as the HTTP API.

SMTP credentials

Create an SMTP credential for your server (dashboard: Server → Credentials, where the type toggles between API and SMTP). The username/password pair authenticates the connection; the sending domain rules are exactly the same as for the API.

Settings

SettingValue
HostYour instance SMTP hostname
Port25 (or 587 if you configured it)
EncryptionSTARTTLS
Username / passwordThe SMTP credential

Example: Rails / Laravel / Django

config/environments/production.rb
# Rails ActionMailer
config.action_mailer.smtp_settings = {
  address: "mail.yourdomain.com",
  port: 25,
  user_name: ENV["CAMELMAILER_SMTP_USER"],
  password: ENV["CAMELMAILER_SMTP_PASS"],
  enable_starttls_auto: true,
}

Laravel (MAIL_MAILER=smtp), Django (EMAIL_BACKEND), Symfony Mailer, Nodemailer, and anything with an SMTP transport works unchanged.

Message size & behaviour

The maximum message size is smtp_server.max_message_size (14 MB by default). Messages submitted over SMTP appear in the dashboard and API like any other message, with deliveries, opens, clicks and webhooks included.

Prefer the HTTP API for new integrations: you get per-recipient message ids and tokens in the response, stable error codes, and no MIME assembly on your side.