Queue-backed · Multi-tenant · API-first

One gateway for every app’s email

Route outbound mail from multiple client applications through a single Laravel service. Per-app SMTP configs, encrypted credentials, async delivery, and full delivery logs — all in one place.

POST /api/send
# Headers
X-App-ID: company_abc_123
X-Api-Key: ••••••••••••••••

# Body
{
  "to": "user@example.com",
  "subject": "Contact form",
  "body": "<p>Hello from Mail Gateway</p>"
}
                        

Built for production mail ops

Everything you need to run centralized email for multiple products.

Per-app SMTP

Each client gets its own host, port, encryption, and from-address — managed from Filament.

Async queue delivery

Emails are queued with the database driver and processed by workers — no blocking HTTP requests.

API key auth

Authenticate with X-App-ID and X-Api-Key. Keys are hashed at rest and never shown again.

Email logs

Every send is recorded before dispatch. Track status, payloads, and failures from the admin panel.

Rate limiting

Per-app_id throttling (default 60/min) protects your SMTP reputation and infrastructure.

Encrypted secrets

SMTP passwords are encrypted before storage. Optional SSL verify toggle for shared hosting.

Integrate in minutes

Create an email config in the admin panel, copy the generated app_id and api_key, then POST from any client app.

  1. 1 Log in to Filament at /admin
  2. 2 Create an Email Config with SMTP settings
  3. 3 Send a test email to verify delivery
  4. 4 Call POST /api/send from your application

Success response

{
  "success": true,
  "message": "Email queued successfully",
  "log_id": 1
}

Laravel client

Http::withHeaders([
    'X-App-ID' => $appId,
    'X-Api-Key' => $apiKey,
])->post(url('/api/send'), [
    'to' => $email,
    'subject' => $subject,
    'body' => $html,
]);