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

# Configure SMTP for alert emails

> Connect your own mail server to a Condense environment so alerts reach you by email. Covers setup, testing, troubleshooting, retries and delivery failures.

Condense can email you when an alert fires, using the SMTP server you set up for an environment. SMTP is the standard protocol mail servers use to send email, so this is where you tell Condense which mail server to send through and which address the emails come from.

## Overview

When an alert fires, Condense always creates an in-app notification. If you also configure SMTP, Condense sends the alert as an email to the recipients set on that alert.

SMTP is configured per environment. Staging and Production can use different mail servers and different sender addresses, and they never share details.

> [!NOTE]
>
> Only Environment Admins can configure or modify SMTP settings. Other roles do not see the SMTP screen.

## Before you begin

You need:

* The Environment Admin role in the environment you are configuring.
* The details of your mail server, which your IT or mail administrator can give you: host, port, encryption protocol, and a username and password.
* The email address alerts should be sent from.

## Configure SMTP

1. **Open the SMTP settings.** In the environment, go to **Settings → Integrations → SMTP**.
2. **Enter your mail server details.** Fill in the fields in the table below. Condense signs in to your mail server with the username and password you enter.
3. **Send a test email.** Choose **Send Test Email**. The recipient is pre-filled with your own email address, and you can change it to any address. The test uses the details currently in the form, so you can check new credentials before you save them.
4. **Save.** You can save without testing, but the configuration then shows as not verified until a test passes.

| Field | What it is | Notes |
| :- | :- | :- |
| **SMTP host** | The address of your mail server, as a domain name or IP address. | Not a URL. |
| **Port** | The network port your mail server accepts mail on. | Whole number from 1 to 65535. Common ports: 587 for STARTTLS, 465 for SSL/TLS, 25 for no encryption. |
| **Encryption protocol** | How the connection to your mail server is secured. | STARTTLS, SSL/TLS or None. |
| **Username** | The account Condense signs in with. | |
| **Password** | The password for that account. | Stored encrypted and never shown again after you save. When you edit a saved configuration, leave the field blank to keep the current password. |
| **Sender email address** | The address alert emails come from. | |
| **Sender name** | The display name shown next to the sender address. | Optional. Defaults to "Condense Platform Alerts". |

### Check your settings before you save

Condense shows a note, but still lets you save, in these cases:

* **Unusual port and encryption pair**, such as SSL/TLS on port 587 or STARTTLS on port 465. If the test fails, try 587 with STARTTLS or 465 with SSL/TLS.
* **Sender address on a different domain** from your mail server. Some mail servers only send from their own domain. If emails are rejected, use a sender address on the same domain as your host.
* **Encryption set to None.** Your username, password and email content are sent unprotected, so use it only on a trusted internal network.

## Test the connection

The test email runs through connecting, signing in and sending. When it succeeds, Condense shows the address it sent to and records **Last verified by \[name] on \[date] at \[time] UTC**.

> [!NOTE]
>
> A passing test confirms your credentials and server connection. It does not confirm that your mail server accepts connections from Condense's outbound IP address. If live alert emails do not arrive after a successful test, ask your network team to allow Condense's outbound IP range.

If the test fails, Condense names what failed and what to do. These are the cases you may see:

| What happened | What it means | What to do |
| :- | :- | :- |
| No response after 30 seconds | Wrong host, the port is blocked by a firewall, or the server is offline. | Check the host and ask your network team to open the outbound port from Condense's IP range to your host. |
| Connection refused | The host is reachable but nothing is listening on that port. | Try 587 for STARTTLS, 465 for SSL/TLS or 25 for no encryption. |
| Secure connection failed | The encryption you selected does not match what the server uses on that port. | Try the other encryption protocol, or ask your mail administrator which one the port uses. |
| Sign-in rejected | The server refused the username or password. | If you use Google Workspace or Microsoft 365 with two-factor sign-in, you need an **App Password**. A regular password is always rejected. |
| Sender address rejected | The server only allows sending from its own domain. | Use a sender address on the same domain as your host. |
| Recipient rejected | Your mail policy may block sending to external domains. | Send the test to an internal address, such as your own work email. |
| Rate limit reached | The server received too many attempts in a short time. | Wait 2 minutes and try again. |

After any error, **Try again** keeps the recipient address you entered.

## Configuration states

The SMTP screen shows where your configuration stands:

| State | What it means |
| :- | :- |
| **Not configured** | No SMTP details are saved. Alerts show in Condense but are not emailed. |
| **Saved, not verified** | Details are saved but no test has passed since the last change. Send a test email. |
| **Verified** | A test passed. The screen shows who ran it and when. |
| **Verified over 30 days ago** | Send another test email to confirm it still works. |
| **Failing** | Live sends are being rejected, for example because the credentials were changed. A banner shows how many alert deliveries were missed. |

If email delivery is failing and you are not an Environment Admin, you see a message asking you to contact an Environment Admin.

## How an alert email is sent

When an alert is triggered:

1. The alert is generated in Condense.
2. An in-app notification is created immediately.
3. If SMTP is configured, the alert email is sent to the configured recipients.
4. Temporary delivery failures are retried automatically.
5. Permanent failures are marked **Delivery Failed** and shown in the alert history.

The in-app notification does not depend on email, so you still see the alert in Condense when your mail server is unavailable.

## Retries and delivery failures

| Type of failure | Examples | What Condense does |
| :- | :- | :- |
| Temporary | Connection timeout, connection refused, a brief DNS problem, a rate limit, other temporary server errors | Retries, up to 4 attempts in total. |
| Permanent | Sign-in rejected, sender address rejected, recipient rejected, relay denied | Does not retry. Marks the email **Delivery Failed** straight away. |

An alert email counts as delivered only when your mail server accepts it for **every** recipient. If an alert has several recipients and any one of them fails, the whole event is marked **Delivery Failed**.

## What the alert history shows

Each alert row in the history shows one email outcome:

| Outcome | When |
| :- | :- |
| **Delivered** | Every recipient was accepted. |
| **Delivery Failed** | Any recipient failed, all retries were used, or the error was permanent. The row shows the reason in plain words and which recipients were attempted, with a link to fix your SMTP settings. |
| **Not sent: SMTP not configured** | No SMTP details are saved for the environment. |
| **Not sent: no email recipients** | The alert has no email recipients, so it is in-app only. |
| **Not sent: node stopped or starting up** | The component was stopped or starting up when the alert would have been emailed. |

## Roles and permissions

| Operation | Environment Admin | All other roles |
| :- | :-: | :-: |
| See the SMTP screen | **✓** | **✕** |
| Configure, test, edit or remove SMTP | **✓** | **✕** |
| Be tagged as an alert email recipient | **✓** | **✓** |

## Best practices

* Send a test email every time you change a setting.
* Set up SMTP before you add email recipients to alerts, so the first alert that fires can reach them.
* Use a sender address on the same domain as your mail server.
* Use **None** for encryption only on a trusted internal network.
* Use separate SMTP settings for Staging and Production if you want their alert emails kept apart.
* Review the alert history regularly for **Delivery Failed** entries.
* When credentials rotate on your mail server, update them here and send a test email.

## Frequently Asked Questions

### Do I need SMTP to receive alerts?

No. In-app notifications are created for every alert. SMTP adds email delivery on top of them.

***

### Who can set up SMTP?

Only Environment Admins can configure or modify SMTP settings.

***

### Can Staging and Production use different mail servers?

Yes. SMTP is configured for each environment separately, and they never share details.

***

### My test email passed, but alert emails do not arrive. Why?

The test confirms your credentials and server connection, not that your mail server allows Condense's outbound IP address. Ask your network team to allow Condense's outbound IP range.

***

### Why is my password rejected when I use Google or Microsoft mail?

If your account uses two-factor sign-in, Google Workspace and Microsoft 365 need an App Password instead of your regular password.

***

### What happens if my mail server is down?

Condense retries temporary failures, up to 4 attempts in total. If delivery fails permanently, the email is marked **Delivery Failed** in the alert history. The in-app notification is still available.

***

### What happens if one recipient fails and the others succeed?

The whole event is marked **Delivery Failed**. Delivery counts as successful only when every recipient is accepted.

***

### How do I know my settings work?

Send a test email. Condense records who verified the configuration and when.

## Related documentation

* [Runtime alerts for connectors and transforms](https://docs.condense.io/condense/v2.6.0/alerts/observability-and-alerts.md)


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