Skip to main content

What is SMTP sending?

SendKit provides an SMTP relay that lets you send emails using standard SMTP protocol instead of the REST API. This is useful for applications, frameworks, and tools that already support SMTP out of the box — no SDK or HTTP integration needed. Emails sent via SMTP go through the same delivery pipeline as API-sent emails: domain verification, suppression checks, tracking, and event webhooks all work the same way.

SMTP credentials

SettingValue
Hostsmtp.sendkit.dev
Ports465 (SSL), 587 (STARTTLS), 2587 (STARTTLS)
Usernamesendkit
PasswordYour API key (e.g., sk_xxxxxxxx...)
EncryptionImplicit TLS on port 465, STARTTLS on ports 587 and 2587
Your SMTP password is your API key. The same key you use for the REST API works for SMTP authentication. The permission level and domain scope of the key apply to SMTP as well.

Port selection

PortProtocolWhen to use
465Implicit TLS (SSL)Preferred for most applications. Connection is encrypted from the start
587STARTTLSStandard submission port. Starts unencrypted, upgrades to TLS
2587STARTTLSAlternative to 587 when your network or hosting provider blocks port 587
All three ports deliver emails identically. Pick whichever one your application or network supports.

Configuration examples

In your .env file (Laravel 11+):
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendkit.dev
MAIL_PORT=465
MAIL_USERNAME=sendkit
MAIL_PASSWORD=sk_your_api_key_here
MAIL_SCHEME=smtps
If you’re using port 587 (STARTTLS) instead:
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendkit.dev
MAIL_PORT=587
MAIL_USERNAME=sendkit
MAIL_PASSWORD=sk_your_api_key_here
MAIL_SCHEME=smtp
For Laravel 10 and earlier, use MAIL_ENCRYPTION=ssl (port 465) or MAIL_ENCRYPTION=tls (port 587) instead of MAIL_SCHEME.

SMTP vs API

FeatureSMTPAPI
SetupWorks with any app that supports SMTPRequires HTTP integration or SDK
Bulk sendingOne email per SMTP sessionUp to 100 emails per request
AttachmentsNative MIME attachmentsBase64-encoded in JSON
TemplatesNot supportedSupported via template.id
Scheduled sendingNot supportedSupported via scheduled_at
TagsNot supportedSupported via tags
Use the REST API when you need features like templates, scheduled sending, tags, or bulk sending. Use SMTP when you want a drop-in integration with existing applications.

FAQ

Yes. Any valid API key works as the SMTP password. The key’s permission level and domain scope are enforced — a send-only key scoped to a specific domain will only be able to send from that domain via SMTP.
Some hosting providers (AWS, GCP, Azure) block outbound port 587 by default. Use port 465 (SSL) or 2587 (alternative STARTTLS) instead.
Yes. Open tracking, click tracking, and all webhook events (delivered, bounced, opened, clicked, etc.) work the same way as API-sent emails.
SMTP sending follows the same rate limits as the REST API based on your plan. Each SMTP message counts as one email toward your quota.