Poste.io + AI

Connect Poste.io to Claude,
Cursor, ChatGPT and any MCP client

One container, one hostname, a full mail server. Point mcpemails at it and an AI agent can read, search, send, reply, schedule and file mail in the mailboxes you created in the Poste.io admin interface.

Claude cannot reach a Poste.io server on its own. mcpemails is a hosted MCP server that connects to yours over IMAP on port 993, at the hostname you gave the container when you started it, using the password of a mailbox created in the Poste.io admin interface, so Claude, Cursor or any MCP client can read, search, send and organize that mail. Poste.io runs Dovecot for IMAP inside the container, so the protocol behaviour is ordinary Dovecot. The container has to publish 993 to the internet and to be serving a certificate that validates for the hostname you connect to. One inbox is free.

1 inbox free, forever Mailbox password from the admin UI Email fetched live, never stored

How Poste.io connects: Dovecot on 993 inside the container

Poste.io packages a complete mail server into a single Docker image, with Dovecot serving IMAP and POP3 and Haraka handling SMTP, behind one admin interface at https://your-hostname/admin. Because the IMAP side is Dovecot, everything on our Dovecot page about folder roles, namespace prefixes and certificate handling applies here too, with the difference that you configure it through the Poste.io UI rather than by editing conf.d files. The hostname matters more than anything else on this page: it is set with the -h flag when the container is created, for example -h mail.example.com, and that name is what the admin interface answers on, what Haraka uses when it greets other servers, and what the built-in Let's Encrypt certificate is issued for. Use it verbatim as your IMAP and SMTP host. The published ports are the usual set: 25, 143, 465, 587, 993 and 995, plus 80 and 443 for the web interface and 4190 for Sieve.

What your AI can do

A Poste.io inbox your agent can actually use

Seventeen action-based MCP tools: send, reply, forward, schedule, and organize. Your agent finishes the job inside Poste.io.

  1. 01Read

    Read & search mail

    List, read and search across folders to find that invoice, summarize a thread, or pull the latest from a sender.

  2. 02Send

    Send, reply & forward

    Compose and send real messages, reply in-thread, and forward, directly from your mailbox, not as a draft you finish by hand.

  3. 03Schedule

    Schedule for later

    Queue a message to go out at the right time, so your agent can draft now and send on schedule.

  4. 04Organize

    Move, copy, flag, archive, delete

    Keep the inbox tidy: file mail into folders, flag what matters, archive the rest, or delete on request.

Setup

Connect Poste.io in four steps

From sign-up to first AI email in a couple of minutes.

01

Create your free mcpemails account

Sign up at mcpemails.com. One inbox is free forever and no card is required.

02

Confirm the container hostname and that 993 is published

Run docker inspect on the container, or read your compose file, and note two things: the hostname the container was given, and whether 993 appears in the published port list. A container created without -h ends up named after its own ID, which is not a name anything can resolve or certify.

03

Check the certificate, then add the mailbox

In the Poste.io admin interface, open the TLS certificate settings and confirm a Let's Encrypt certificate was actually issued rather than the self-signed one still being served. Then add the inbox in mcpemails: choose IMAP / SMTP, enter the container hostname, the full mailbox address and its password from the admin interface.

04

Paste the MCP URL into your AI

Drop https://mcpemails.com/api/mcp into Claude, Cursor or ChatGPT, authorize, and your agent has the inbox.

Before you start

What actually goes wrong with Poste.io

The padlock in your browser belongs to the proxy, not to port 993

Poste.io is very often run behind Traefik, nginx or Caddy, and that arrangement hides the single most common failure. The proxy terminates HTTPS with a certificate it obtained itself, so the admin interface and webmail look perfectly secure. Meanwhile Poste.io's own Let's Encrypt request needs to answer an HTTP challenge on port 80 at the container, and if the proxy swallowed it, or the /.well-known/ path was never forwarded through, the request never completed. Dovecot goes on serving the self-signed certificate it generated at install, and a strict IMAP client refuses to connect while every human on the system sees a green padlock and concludes the server is fine. Test what is actually on 993 with openssl s_client -connect mail.yourdomain.com:993. If you terminate TLS at the proxy and copy certificates into the container instead, turn Poste.io's internal Let's Encrypt off so the two do not overwrite each other.

Docker port publishing does not obey your host firewall

This surprises people in both directions. Docker writes its own rules that are evaluated before the ones ufw manages, so a port you published with -p 993:993 is open to the internet even though your firewall says it is closed. That is not a Poste.io fault, but it means the mail server is more exposed than the firewall implies. The other direction is quieter: a port that was never in the -p list is unreachable no matter how permissive the firewall is, because nothing is forwarding it into the container. If the container is healthy and connections still time out, count the published ports before you touch anything else.

The SMTP half is Haraka, so Postfix advice does not apply

Almost every self-hosted mail article on the internet assumes Postfix. Poste.io does not use it. Sending is handled by Haraka, a Node.js SMTP server, so there is no main.cf, no postconf, no postqueue and no mailq inside the container, and the commands people paste from forum answers simply do not exist. Diagnose sending through the Poste.io interface and Haraka's own logs. The IMAP half is Dovecot and behaves exactly as documented there, which is the useful half of the split: doveadm works, and Dovecot's folder and namespace behaviour is what you would expect.

Known limits with Poste.io

  • The container has to accept inbound connections on 993 from the internet for a hosted MCP server to reach it. A Poste.io running on a home server or a private network cannot be connected this way. mcpemails is self-hostable, so if you would rather nothing external touched the mail server you can run both inside the same network.
  • TLS validation is strict and cannot be bypassed. The self-signed certificate a fresh Poste.io generates will be refused, which is why provisioning a real one is a setup step rather than an optional polish.
  • Sending goes out through Haraka on your own IP address, so SPF, DKIM and DMARC records and your address reputation govern whether mail is accepted downstream.
FAQ

Poste.io and AI: common questions

Does Claude work with Poste.io?

Not on its own. Claude has no Poste.io connector and cannot open an IMAP session to a container you run. Connecting an MCP server such as mcpemails to your Poste.io hostname gives Claude read, search, send, reply, schedule and organize access to a mailbox on it, and the same inbox then works from Cursor or ChatGPT.

What are the Poste.io IMAP and SMTP settings?

The host is the hostname you gave the container, the same name you use for the admin interface. IMAP is 993 with implicit TLS or 143 with STARTTLS. Submission is 465 with implicit TLS or 587 with STARTTLS. Log in with the full mailbox address and the password set for that mailbox in the admin interface.

Is Poste.io built on Dovecot?

Yes for IMAP and POP3. Poste.io bundles Dovecot for mailbox access and Haraka for SMTP into one Docker image with an admin interface over the top. Anything true of Dovecot's IMAP behaviour is true here, so our Dovecot page is the reference for folder roles, namespace prefixes and certificate handling.

Why is my Poste.io mailbox password rejected?

Check that you are using a mailbox rather than an alias, since aliases forward and have no password of their own, and that you are not using the admin login unless that admin is also a real mailbox. If the credentials are certainly right, look at whether the connection is failing at TLS instead: a self-signed certificate on 993 produces a failure that many clients report as a login problem.

Is my mail stored on your servers?

No. Messages are fetched live from your Poste.io container over IMAP for each request and passed to your AI client. Credentials are encrypted at rest and message bodies are not retained.

Give your AI a Poste.io inbox

Connect a mailbox from your own container. One inbox free forever, no card required.