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.
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.
Seventeen action-based MCP tools: send, reply, forward, schedule, and organize. Your agent finishes the job inside Poste.io.
List, read and search across folders to find that invoice, summarize a thread, or pull the latest from a sender.
Compose and send real messages, reply in-thread, and forward, directly from your mailbox, not as a draft you finish by hand.
Queue a message to go out at the right time, so your agent can draft now and send on schedule.
Keep the inbox tidy: file mail into folders, flag what matters, archive the rest, or delete on request.
From sign-up to first AI email in a couple of minutes.
Sign up at mcpemails.com. One inbox is free forever and no card is required.
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.
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.
Drop https://mcpemails.com/api/mcp into Claude, Cursor or ChatGPT, authorize, and your agent has the inbox.
Comparing providers first? See the email provider compatibility matrix
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.
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.
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.
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.
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.
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.
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.
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.
Connect a mailbox from your own container. One inbox free forever, no card required.