Email and MessagesYour own SMTP

Email and Messages

Your own SMTP

Connect your own mailbox so documents are sent from your address, with no monthly email limit from Free Invoice Automation.

Connecting your own SMTP server lets Free Invoice Automation send your invoices, estimates, receipts and reminders from your own email address, through your own mail server. Your clients see your address, replies land in your inbox, and the sends never count against the platform email allowance. This is the way to send more than 20 emails a month on Free or 100 on Team.

How it works

Your SMTP mailbox is a sender connection on a business. Once it is connected and verified, it becomes that business's default sender, and every email for that business goes through it unless a client or a document says otherwise.

The sender for each email is resolved in this order:

  1. A sender set on the document.
  2. The client's preferred sender.
  3. The business default sender (your SMTP once connected).
  4. Platform email, only if the account still has quota left.

Because a sender connection belongs to a business, each business can send from its own mailbox. If you run two businesses, connect one SMTP mailbox to each.

No monthly limit from us

Emails sent through your own SMTP have no monthly quota on any plan. Your mail provider may have its own sending limits, and those still apply. On Free, the general fair-use limits on sends per minute also apply to protect the service.

What you need

From your email provider or hosting control panel, collect your mailbox's SMTP details:

  • the SMTP host name;
  • the port: 25, 465, 587 or 2525;
  • the username (often the full email address);
  • the password (or an app password, if your provider uses them).

Many email providers ask you to create an app password for third-party sending instead of using your normal password. Check your provider's help pages if the connection test fails with an authentication error.

Connect SMTP in the web app

1

Open Settings > Email

Pick the business at the top of the app first, because the connection belongs to that business. You can also start from the send dialog: when platform email is used up, it offers Connect your own SMTP (unlimited).

2

Enter your SMTP details

Host, port, username and password, plus a label so you can recognise this connection later.

3

Save and let us test it

When you save, we run a handshake check against your server. The connection becomes active only if the server answers and accepts the login.

4

Send a document

The next email for this business goes through your mailbox. The document's activity and the message log show which sender was used.

Connect SMTP through the API

A sender connection is created with Create a connection, with kind: "sender" and provider: "smtp". The exact fields come from the smtp sender's connection schema, listed on the endpoint page. The password is accepted on write and never returned.

cURL
curl -X POST "https://api.freeinvoiceautomation.com/v1/connections" \
  -H "Authorization: Bearer $FIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: smtp-acme-studio" \
  -d '{
    "business_id": "0193f2a1-7c4e-7b9a-9f10-3c2d1e0a4b51",
    "kind": "sender",
    "provider": "smtp",
    "label": "Acme Studio mailbox",
    "host": "smtp.example.com",
    "port": 587,
    "username": "[email protected]",
    "password": "app-password-here"
  }'

Then use Verify a connection to run the handshake again at any time, Update a connection to change the details, and Delete a connection to remove it. List connections shows each sender with its status.

SMTP connections are not managed over MCP. Your assistant still sends through them: when it calls send_document, the same sender resolution picks your SMTP mailbox.

Connection status

StatusMeaning
pendingSaved, check not finished yet.
activeThe handshake succeeded; emails are sent through it.
failingA later check or a send failed, for example after a password change at your provider.
disconnectedThe connection was removed or switched off.

We re-check connections every night. If your connection starts failing, update the password or settings and verify again. Each failed send is recorded in the message log with its error, so you can see which emails did not go out.

Security

Your SMTP password is a secret, and it is treated like one:

  • It is sealed (encrypted) as soon as it reaches us, is write-only (no screen or API call ever shows it again, only the last few characters for recognition) and is never written to logs.
  • An SSRF guard checks the host before we connect. Private, loopback, link-local and other internal network addresses are blocked, we connect to the exact address that was checked, and only the SMTP ports 25, 465, 587 and 2525 are allowed. This stops anyone from using the SMTP form to reach systems inside our network.
  • Connection attempts use short timeouts.

Your own mail server is outside our control. Its security, deliverability and limits are between you and your mail provider.

Rules and edge cases

  • One send per event. Each send is unique per document, event and channel, so a retried or double-clicked send never emails your client twice.
  • Per business. A connection belongs to one business. Members who can reach that business send through it according to their permissions; they never see the password.
  • Overrides. You can set a different sender for a single client or a single document, for example to send one client's invoices from a different mailbox.
  • No "Powered by" changes. The email footer follows your plan's branding, whichever sender is used.
  • Deliverability. Mail from your own server is sent under your own domain's reputation. If emails land in spam, ask your provider about SPF, DKIM and DMARC for your domain.

Errors

CodeWhen
validation_failedA required field is missing or the port is not allowed.
connection_failedThe handshake check failed: wrong host, port, username or password, or the server refused the connection.
upstream_errorYour SMTP server failed while sending a message.
permission_deniedYour role lacks senders.manage.
business_out_of_scopeYou cannot reach the business you named.

See Errors for the error shape.

Permissions

ActionPermission key
Connect, change, verify or delete an SMTP sendersenders.manage
Send documents (through any sender)documents.send

By default only Owner and Admin have senders.manage. See Roles and permissions.