SMTP Configuration

Use Quolle as an SMTP relay from any framework, CMS, or no-code tool that supports SMTP — no SDK installation required.

SMTP credentials

Use these settings in any application that asks for an SMTP server:

SettingValue
Hostsmtp.quolle.com
Port587
SecuritySTARTTLS (required)
UsernameYour API key (starts with qle_)
PasswordYour API key (same value as username)
Same key for username and password. SMTP authentication uses your API key as both username and password. Create an API key under Dashboard → API Keys.

Laravel

Add these to your .env file:

MAIL_MAILER=smtp
MAIL_HOST=smtp.quolle.com
MAIL_PORT=587
MAIL_USERNAME=qle_your_api_key
MAIL_PASSWORD=qle_your_api_key
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=hello@mail.yourdomain.com
MAIL_FROM_NAME="${APP_NAME}"

Then send mail as usual with Laravel's Mail facade:

Mail::to('customer@example.com')->send(new WelcomeMail());

Django

Add to your settings.py:

EMAIL_BACKEND  = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST     = 'smtp.quolle.com'
EMAIL_PORT     = 587
EMAIL_USE_TLS  = True
EMAIL_HOST_USER     = 'qle_your_api_key'
EMAIL_HOST_PASSWORD = 'qle_your_api_key'
DEFAULT_FROM_EMAIL  = 'hello@mail.yourdomain.com'

Send emails using Django's built-in send_mail:

from django.core.mail import send_mail

send_mail(
    subject='Welcome!',
    message='Thanks for signing up.',
    from_email='hello@mail.yourdomain.com',
    recipient_list=['customer@example.com'],
    html_message='<h1>Welcome!</h1>',
)

Nodemailer (Node.js)

import nodemailer from "nodemailer";

const transporter = nodemailer.createTransport({
  host: "smtp.quolle.com",
  port: 587,
  secure: false, // STARTTLS — do NOT use port 465
  auth: {
    user: "qle_your_api_key",
    pass: "qle_your_api_key",
  },
});

await transporter.sendMail({
  from: '"Acme" <hello@mail.yourdomain.com>',
  to: "customer@example.com",
  subject: "Welcome!",
  html: "<h1>Welcome to Acme</h1>",
});

WordPress (WP Mail SMTP)

Install the free WP Mail SMTP plugin, then configure under Settings → WP Mail SMTP → General:

  1. Set Mailer to Other SMTP
  2. SMTP Host: smtp.quolle.com
  3. SMTP Port: 587
  4. Encryption: TLS (STARTTLS)
  5. Auto TLS: On
  6. Authentication: On
  7. SMTP Username: your API key (qle_…)
  8. SMTP Password: your API key (same value)
  9. From Email: your verified address, e.g. noreply@mail.yourdomain.com
  10. Save and use Email Test to confirm delivery

Bubble.io

In your Bubble app, go to Settings → Email:

  1. Enable Use a custom email provider
  2. Email address: your verified address
  3. Click Configure and enter the SMTP settings above
  4. Bubble uses these credentials for all system emails and workflow email actions

FlutterFlow

In FlutterFlow, navigate to Settings → Firebase → Custom SMTP (or your email integration panel) and enter:

No-code tools and STARTTLS. If your tool asks for SSL vs TLS, choose TLS / STARTTLS on port 587. Do not use SSL on port 465 — it is not supported.

Ruby on Rails

# config/environments/production.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address:              'smtp.quolle.com',
  port:                 587,
  domain:               'yourdomain.com',
  user_name:            'qle_your_api_key',
  password:             'qle_your_api_key',
  authentication:       'plain',
  enable_starttls_auto: true
}

Troubleshooting

ProblemSolution
Connection refused on port 587 Check that your server's outbound port 587 is open. Some cloud providers block it by default — use their firewall/security group settings to allow outbound TCP 587.
Authentication failed Make sure you are using an API key (starts with qle_) as both username and password. Confirm the key exists and is not deleted.
535 Relay not permitted Your from address must use a verified domain. Add and verify your domain first.
TLS handshake error Set encryption to STARTTLS (not SSL). Port 587 with STARTTLS is the only supported mode.