Skip to content
Guides

SMTP integration

Connect existing applications, including Supabase.

Connection

Require STARTTLS and certificate verification. Password is a workspace API key with emails:send.

SettingValue
Hostmail.inboxit.wtf
Port587
TLSSTARTTLS required (not implicit TLS)
Usernameinboxit
PasswordSending API key

Credentials

Use a dedicated expiring key for each integration. Revoking it disables SMTP access.

Example
inboxit smtp create-key --name supabase --scopes emails:send
inboxit smtp get

Node.js

Install nodemailer separately. Supply your key from the server environment. Use a verified sender and your recipient’s address.

Example
import nodemailer from 'nodemailer';



const smtp = nodemailer.createTransport({



  host: 'mail.inboxit.wtf', port: 587, secure: false, requireTLS: true,



  auth: {user: 'inboxit', pass: process.env.INBOXIT_API_KEY}



});



await smtp.sendMail({from: 'Your Brand <hello@mail.yourbrand.com>',



  to: 'recipient@example.com', subject: 'Welcome', text: 'Your account is ready.'});

Supabase

Enter these settings in custom SMTP, with your verified sender and display name. Configure auth redirect URLs for your app separately. The password is an InboxIt key, not a Supabase service-role key. The auth provider may enforce its own email limits.

Limits and errors

One recipient, 100,000 raw bytes, no attachments. Envelope sender must match From. Same sender/quota/suppression/account checks as REST. Success means queued. Identical raw submissions use a content-derived idempotency key. 535: authentication; 452: recipients; 552: size; 553: sender mismatch; 554: attachments; 451: temporary failure; 550: application rejection.