SMTP
For tools that can only send email over SMTP: Supabase Auth, a CMS, a framework's mailer. Each email is a transactional email like one sent with the API: it uses one credit, appears on the Transactional page and is tracked the same way.
Settings
| Field | Value |
|---|---|
| Host | smtp.fromly.io |
| Port | 465 with SSL/TLS, or 587 with STARTTLS |
| Username | fromly |
| Password | An SMTP password from Settings, SMTP |
Create the password in Settings, SMTP. It is an API key that can send transactional email and nothing else, shown once. Any key with the Transactional only level works too.
The sender can be any address on one of your verified domains, such as no-reply@notify.domain.com. The display name you set in your tool is kept.
Supabase Auth
In your Supabase project, open Authentication, then Emails, then SMTP Settings, and turn on custom SMTP:
| Supabase field | Value |
|---|---|
| Sender email | An address on a verified domain |
| Sender name | Your product name |
| Host | smtp.fromly.io |
| Port number | 465 |
| Username | fromly |
| Password | Your SMTP password |
Sign-in links, confirmations and password resets then leave from your domain. Supabase keeps writing their content: edit it in its email templates.
Limits
Each password can send 120 emails a minute, the same budget the API gives the key. A message can have up to 50 recipients and weigh up to 10 MB.
Attachments are not supported yet. A message with one is refused rather than sent without it.
Replies
A 4xx reply is temporary: your tool tries again on its own, and a recipient who already received the message is not sent it twice, as long as the message keeps its Message-ID. A 5xx reply is final.
| Reply | Meaning |
|---|---|
535 | The password is wrong, revoked, or cannot send transactional email. |
550 | Refused: the sender is not on a verified domain, or the recipient has bounced or marked an email as spam. |
451 | Too many emails at once, or sending is paused for a while. Retried by your tool. |
452 | The account has no emails left. Sending resumes once credits are added. |
552 | The message is too large. |
554 | The message has an attachment, or could not be sent. |
To send from your own code, the transactional API gives you templates, variables and each email's status in the response.