> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# turboSMTP Common Errors: API, SMTP, and Account Issues

> Diagnose and fix the most common turboSMTP API errors, SMTP authentication failures, credential problems, and account activation issues.

Inspect both the HTTP status and response body. Record the endpoint, timestamp, message ID, and error text while removing credentials and personal message content from logs shared with support.

## API errors

### Authentication and management requests

Use `consumerKey` and `consumerSecret` headers for sending and supported management endpoints. A management key needs **Statistics & Management APIs** permission and an IP restriction that allows the caller. `/user/consumerKeys`, `/change-password`, and `/update-password` require a session token instead. See [Authentication](/docs/api-reference/authentication.md).

| Response message | What to check |
| - | - |
| `missing_authorization_key` | Send both credential headers, or the session token where the endpoint requires one. |
| `invalid_authorization_key` | Check credentials, permissions, IP restrictions, and whether a session token is still usable. |
| `not_allowed_for_consumerkey` | The operation requires session authentication. Use the dashboard where possible. |
| `wrong_credentials_specified` from `/authorize` | This legacy login can fail after a dashboard password change. Use Consumer Key and Consumer Secret for supported operations. |
| `api_limit_reached` from `/authorize` | Stop retrying. The legacy endpoint can block the caller's IP after 10 attempts in two minutes; support must clear the block. |
| `from_format_should_be_yyyy-mm-dd` | Use dates such as `2026-10-01` for analytics filters, without a time component. |
| `not_found` | `404`: the route does not exist. Check the host and path. |
| `method_not_allowed` | `405`: the route exists but not for this HTTP method. |
| `server_error_please_try_again` | Retry later. If a documented request keeps failing, contact support. |

### Send API errors

Send to `https://api.turbo-smtp.com/api/v2/mail/send` or the EU endpoint `https://api.eu.turbo-smtp.com/api/v2/mail/send`.

| Response detail | Cause and action |
| - | - |
| `No authorization key was specified` | Include both `consumerKey` and `consumerSecret`. `Authorization` is ignored by `/mail/send` and cannot authenticate the request. |
| `Wrong credentials specified` | Check the key pair, **HTTP API Sending** permission, and allowed source IPs. Use the Consumer Secret, not the dashboard password. |
| `missing or not valid sender email (from)` | Supply a valid `from` address, optionally in `Name <address>` format. |
| `missing recipients (to)` | Supply at least one recipient as a string. Join multiple addresses with commas. |
| Recipient validation errors | Check `to`, `cc`, and `bcc`. A comma inside a quoted display name can break recipient parsing. |
| `Invalid Mime` | Use `content` and `html_content`. To send a pre-built MIME message, use the [SMTP relay](/docs/sending/smtp-relay.md). |
| `nocredit` | Review your remaining allowance and plan in the dashboard. |
| Account inactive | Check activation messages and contact support if needed. |

Validation failures can contain an `errors` array. Inspect its full contents rather than relying only on the top-level `message`.

## Common SMTP errors

> [accordion] Authentication failed / 535 Incorrect authentication data
>
> Use your **Consumer Key** as the SMTP username and **Consumer Secret** as the password. Create or edit keys under **Settings → Integrations → API Keys → Edit**. Enable **SMTP Sending** and check allowed source IPs.
>
> Use `pro.turbo-smtp.com` for Global or `pro.eu.turbo-smtp.com` for EU. Both support the same ports and TLS modes.

> [accordion] Port 25 connection refused / Cannot connect to SMTP server
>
> Your network may block outbound SMTP. Match the port to the client's encryption setting on either host:
>
> | Port | Encryption |
> | - | - |
> | `587` | STARTTLS |
> | `2525` | STARTTLS alternative to 587 |
> | `465` | Implicit TLS |
> | `25025` | Implicit TLS alternative to 465 |
> | `25` | Available, often blocked by networks |
>
> Require TLS and keep certificate verification enabled. If all SMTP ports are blocked, use the [HTTPS API](/docs/sending/email-api.md).

> [accordion] Relay access denied / 550 5.7.1 Relaying denied
>
> Enable SMTP authentication. Check your Consumer Key and Consumer Secret, the key's SMTP permission, allowed IPs, and sender configuration. The account login email and dashboard password are not the SMTP credential pair.

> [accordion] 550 Recipient rejected / Address suppressed
>
> Open **Suppressions** in the dashboard and inspect the address's type and reason. Suppressions can come from bounces, spam complaints, unsubscribes, validation failures, or manual imports. Remove an entry only after resolving its cause and confirming that the recipient should receive mail.

## Account issues

> [accordion] I purchased or renewed a plan but cannot send
>
> Check the plan status, expiration date, remaining credits, and payment confirmation in the dashboard. If the displayed plan differs from your purchase, contact support with the order reference. Do not repeatedly submit the same payment.

> [accordion] My email counter or credit balance looks wrong
>
> Compare the active plan period with the counters shown in **Home** and **Analytics**. Check free and paid balances separately. Ask support to review an unexplained discrepancy; a payment alone does not establish which allowance is active.

## HTTP response codes

| HTTP status | Action |
| - | - |
| `200 OK` | Inspect the operation's response. For `/mail/send`, `message: "OK"` and a `mid` acknowledge acceptance, not recipient delivery. Check **Analytics** for the outcome. |
| `400 Bad Request` | Read field validation errors and correct the request before retrying. |
| `401 Unauthorized` | Check the required authentication method, permissions, account status, and source IP restrictions. |
| `404 Not Found` | Check the host and path, or the resource ID in the path. |
| `405 Method Not Allowed` | Use the HTTP method documented for the route. |
| `500 Server Error` | Contact support with a redacted request and timestamp. |

> [!WARNING]
>
> A timeout or lost response does not prove a send failed. Check **Analytics** before resending to avoid duplicate mail. Do not assume `reference_id` deduplicates requests.

For persistent errors, use [support](https://serversmtp.com/contact-us/) or the dashboard's **? → My Tickets → Submit Ticket**. Support channels depend on your [plan](https://serversmtp.com/pricing/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.