IMAP & POP3 access
Read your API-registered inboxes in any standard mail client — Apple Mail, Thunderbird, Outlook, Mutt — using the standard IMAP and POP3 protocols. Available on Growth and Enterprise plans.
Your existing fce_ API key is the password. No new credentials to manage. Each message you fetch costs 1 request from your monthly quota; connecting, listing, and searching are free.
Connection details
| Protocol | Host | Port | Security |
|---|---|---|---|
| IMAP | imap.freecustom.email | 993 | SSL/TLS (required) |
| POP3 | pop.freecustom.email | 995 | SSL/TLS (required) |
| Field | Value |
|---|---|
| Username | your inbox address (e.g. alice@addmy.space) |
| Password | your fce_ API key |
| Authentication | PLAIN (over TLS — safe) |
| Supported folder | INBOX only |
Connection limits
| Plan | IMAP connections | POP3 connections |
|---|---|---|
| Growth ($89/mo) | 5 concurrent | 3 concurrent |
| Enterprise ($199/mo) | 20 concurrent | 10 concurrent |
Billing
| Action | Cost |
|---|---|
| Connect / authenticate | Free |
| SELECT, LIST, SEARCH, UIDL, STAT | Free |
| IMAP FETCH (message body) | 5 requests per message |
| POP3 RETR | 5 requests per message |
Supported IMAP commands
FCE implements IMAP4rev1 (RFC 3501) with the most-used command subset.
CAPABILITYNOOPLOGOUTLOGINSELECTEXAMINECLOSEFETCHUID FETCHSEARCHUID SEARCHSTOREUID STOREEXPUNGEUID EXPUNGESupported POP3 commands
CAPAUSERPASSQUITSTATLISTUIDLRETRDELENOOPRSETTOPCode examples
Python — IMAP (imaplib)
python
import imaplib, email
INBOX = "alice@addmy.space"
API_KEY = "fce_your_api_key"
with imaplib.IMAP4_SSL("imap.freecustom.email", 993) as m:
m.login(INBOX, API_KEY)
m.select("INBOX")
_, ids = m.search(None, "UNSEEN") # free — no billing
for num in ids[0].split():
_, data = m.fetch(num, "(RFC822)") # 1 req billed per fetch
msg = email.message_from_bytes(data[0][1])
print("From:", msg["From"])
print("Subject:", msg["Subject"])
if msg.is_multipart():
for part in msg.walk():
if part.get_content_type() == "text/plain":
print(part.get_payload(decode=True).decode())
Node.js — IMAP (imap-simple)
javascript
const imaps = require("imap-simple");
const config = {
imap: {
user: "alice@addmy.space",
password: "fce_your_api_key",
host: "imap.freecustom.email",
port: 993,
tls: true,
authTimeout: 10000,
},
};
imaps.connect(config).then(async (conn) => {
await conn.openBox("INBOX");
const msgs = await conn.search(["UNSEEN"], {
bodies: [""], // fetch full body — 1 req per message
markSeen: true,
});
for (const msg of msgs) {
const body = msg.parts.find(p => p.which === "").body;
console.log("Body length:", body.length);
}
conn.end();
});
Python — POP3 (poplib)
python
import poplib, email
INBOX = "alice@addmy.space"
API_KEY = "fce_your_api_key"
with poplib.POP3_SSL("pop.freecustom.email", 995) as p:
p.user(INBOX)
p.pass_(API_KEY)
count, _ = p.stat()
print(f"{count} messages in inbox")
for i in range(1, count + 1):
_, lines, _ = p.retr(i) # 1 req billed
msg = email.message_from_bytes(b"\n".join(lines))
print("Subject:", msg["Subject"])
Mail client quick-setup
Use these settings in Apple Mail, Thunderbird, or Outlook:
| IMAP host | imap.freecustom.email |
| IMAP port | 993 |
| POP3 host | pop.freecustom.email |
| POP3 port | 995 |
| SSL/TLS | Always on (required) |
| Username | alice@addmy.space |
| Password | fce_your_api_key |
| Authentication | Normal password / PLAIN |
Common issues
| Error | Cause / fix |
|---|---|
| AUTHENTICATIONFAILED | Wrong inbox address or API key; check the key is active in the dashboard. |
| [LIMIT] Too many connections | You have hit the concurrent connection limit for your plan. Disconnect idle sessions or upgrade. |
| inbox_not_owned | The inbox is not registered on your account. Register it first via POST /v1/inboxes. |
| SSL certificate error | Make sure SSL/TLS is enabled (port 993/995). Plaintext ports 143/110 are not available. |