Transactional email
On a self-hosted install, set your SMTP relay once in the chart:global.smtp.host, port (587), starttls, user, passwordSecret.name and .key (a Secret you create), adminEmail and senderName. It feeds sign-in mail, invitations and notifications, rendered into XPANDER_EMAIL_DELIVERY. No mail leaves the cluster to xpander, and outbound mail goes only to that relay.
Amazon SES in the sandbox
A new SES account delivers only to verified identities. Request production access before you invite members, and create the DKIM, MAIL FROM and DMARC records SES gives you. Until then, an invite to an unverified address fails with554 Access denied ... not authorized to perform 'ses:SendRawEmail' on resource ...:identity/<recipient>. To invite earlier, verify each recipient in SES and add its identity ARN to the Resource list of the SMTP IAM user’s ses:SendRawEmail policy.
Sign in without SMTP
Without SMTP, the email code is never sent. On an Air-Gapped install, enter the email on the login page, then get the code from the cluster:An inbox for an agent
On xpander cloud
The Email switch on an agent’s Channels pane gives it<agent-name>@xpander.bot. Mail and forwards to it become runs, attributed to the sender. Reply to newsletters (off by default) decides whether mailing-list mail gets a reply. The run happens either way.
On a self-hosted installation
Every agent gets<handle>@<your reply domain>. The API accepts mail at POST /v1/inbound/email?token=<INBOUND_EMAIL_TOKEN> in Mailgun’s store-and-notify shape and checks the token and the Mailgun signature. Set on the chart:
- SES receives only in some regions. If the cluster’s region does not, put the receiving rule and its bucket in one that does.
- The bucket policy must grant SES with
aws:SourceAccount, not the legacyaws:Referer, or SES bounces mail silently.
mailgun.net and sendgrid.com are in the egress allowlist only for xpander cloud. A self-hosted install needs neither.
Next steps
Set run notifications for an agent
On success and on error
Route channels to an agent
Channels on a self-hosted install

